File indexing completed on 2024-04-28 15:28:38

0001 var x = 0;
0002 eval("\u0009 \u000B \u000C \u00A0x = 1;");
0003 shouldBe("x", "1");
0004 
0005 // integer
0006 shouldBe("0", "0");
0007 shouldBe("1", "1");
0008 shouldBe("123", "123");
0009 shouldBe("-123", "-123");
0010 shouldBe("String(9007199254740992)", "'9007199254740992'");
0011 shouldBe("String(144115188075855870)", "'144115188075855870'");
0012 
0013 // scientific
0014 shouldBe("12E02", "1200");
0015 shouldBe("2E-02", "0.02");
0016 
0017 // hex
0018 shouldBe("0x0", "0");
0019 shouldBe("0xF", "15");
0020 shouldBe("0XF", "15");
0021 shouldBe("0xFF", "255");
0022 shouldBe("0x20000000000000", "9007199254740992");
0023 shouldBe("0x200000000000000", "144115188075855870");
0024 shouldThrow("0x");
0025 shouldThrow("0xZ");
0026 shouldThrow("0xFZ");
0027 
0028 // binary
0029 shouldBe("0b0", "0");
0030 shouldBe("0B0", "0");
0031 shouldBe("0b1", "1");
0032 shouldBe("0b10", "2");
0033 shouldBe("0b11111111", "255");
0034 shouldThrow("0b");
0035 shouldThrow("0b2");
0036 shouldThrow("0b12");
0037 shouldThrow("0b1in");
0038 
0039 // octal
0040 shouldBe("0o1", "1");
0041 shouldBe("0o10", "8");
0042 shouldBe("0O1", "1");
0043 shouldBe("0O10", "8");
0044 shouldBe("0o400000000000000000", "9007199254740992");
0045 shouldBe("0o10000000000000000000", "144115188075855870");
0046 
0047 shouldThrow("0o");
0048 shouldThrow("0o9");
0049 shouldThrow("0o19");
0050 shouldThrow("0o1in");
0051 
0052 // legacy octal (not available in strict mode)
0053 shouldBe("01", "1");
0054 shouldBe("010", "8");
0055 shouldBe("09", "9");
0056 shouldBe("019", "19")
0057 shouldThrow("010in");