@@ -304,38 +304,6 @@ class TestMathLib : public TestFixture {
304304 ASSERT_EQUALS ((int )(' \100 ' ), MathLib::toLongNumber (" '\\ 100'" ));
305305 ASSERT_EQUALS ((int )(' \200 ' ), MathLib::toLongNumber (" '\\ 200'" ));
306306 ASSERT_EQUALS ((int )(L' A' ), MathLib::toLongNumber (" L'A'" ));
307- #ifdef __GNUC__
308- // BEGIN Implementation-specific results
309- ASSERT_EQUALS ((int )(' AB' ), MathLib::toLongNumber (" 'AB'" ));
310- ASSERT_EQUALS ((int )(' ABC' ), MathLib::toLongNumber (" 'ABC'" ));
311- ASSERT_EQUALS ((int )(' ABCD' ), MathLib::toLongNumber (" 'ABCD'" ));
312- ASSERT_EQUALS ((int )(' ABCDE' ), MathLib::toLongNumber (" 'ABCDE'" ));
313- // END Implementation-specific results
314- #endif
315- ASSERT_EQUALS ((int )(' \0 ' ), MathLib::toLongNumber (" '\\ 0'" ));
316- ASSERT_EQUALS (0x1B , MathLib::toLongNumber (" '\\ e'" ));
317- ASSERT_EQUALS ((int )(' \r ' ), MathLib::toLongNumber (" '\\ r'" ));
318- ASSERT_EQUALS ((int )(' \x12 ' ), MathLib::toLongNumber (" '\\ x12'" ));
319- // may cause some compile problems: ASSERT_EQUALS((int)('\x123'), MathLib::toLongNumber("'\\x123'"));
320- // may cause some compile problems: ASSERT_EQUALS((int)('\x1234'), MathLib::toLongNumber("'\\x1234'"));
321- ASSERT_EQUALS ((int )(' \3 ' ), MathLib::toLongNumber (" '\\ 3'" ));
322- ASSERT_EQUALS ((int )(' \34 ' ), MathLib::toLongNumber (" '\\ 34'" ));
323- ASSERT_EQUALS ((int )(' \034 ' ), MathLib::toLongNumber (" '\\ 034'" ));
324- ASSERT_EQUALS ((int )(' \x34 ' ), MathLib::toLongNumber (" '\\ x34'" ));
325- ASSERT_EQUALS ((int )(' \134 ' ), MathLib::toLongNumber (" '\\ 134'" ));
326- ASSERT_EQUALS ((int )(' \134 t' ), MathLib::toLongNumber (" '\\ 134t'" )); // Ticket #7452
327- ASSERT_THROW (MathLib::toLongNumber (" '\\ 9'" ), InternalError);
328- ASSERT_THROW (MathLib::toLongNumber (" '\\ 934'" ), InternalError);
329- // that is not gcc/clang encoding
330- ASSERT_EQUALS (959657011 , MathLib::toLongNumber (" '\\ u9343'" ));
331- ASSERT_EQUALS (1714631779 , MathLib::toLongNumber (" '\\ U0001f34c'" ));
332- {
333- // some unit-testing for a utility function
334- ASSERT_EQUALS (0 , MathLib::characterLiteralToLongNumber (std::string ()));
335- ASSERT_EQUALS (32 , MathLib::characterLiteralToLongNumber (std::string (" " )));
336- ASSERT_EQUALS (538976288 , MathLib::characterLiteralToLongNumber (std::string (" " )));
337- ASSERT_THROW (MathLib::characterLiteralToLongNumber (std::string (" \\ u" )), InternalError);
338- }
339307
340308 ASSERT_EQUALS (-8552249625308161526 , MathLib::toLongNumber (" 0x89504e470d0a1a0a" ));
341309 ASSERT_EQUALS (-8481036456200365558 , MathLib::toLongNumber (" 0x8a4d4e470d0a1a0a" ));
0 commit comments