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

0001 // Tests for making sure we properly handle negative index properties
0002 // (#204143, #262398)
0003 
0004 A  = {"-1" : true }
0005 
0006 // As a value...
0007 shouldBe("A['-1']", "true");
0008 shouldBe("A[-1]", "true");
0009 
0010 // As a reference...
0011 B = {}
0012 B['-1'] = true;
0013 shouldBe("B[-1]", "true");
0014 shouldBe("B['-1']", "true");
0015 
0016 C = {}
0017 C[-1] = true;
0018 shouldBe("C[-1]", "true");
0019 shouldBe("C['-1']", "true");
0020 
0021 // And as one in delete context
0022 
0023 D = {"-1" : true}
0024 shouldBe("D['-1']", "true");
0025 shouldBe("D[-1]", "true");
0026 shouldBe("delete D['-1']", "true");
0027 shouldBe("D['-1']", "undefined");
0028 shouldBe("delete D['-1']", "true");
0029 
0030 E = {"-1" : true}
0031 shouldBe("E['-1']", "true");
0032 shouldBe("E[-1]", "true");
0033 shouldBe("delete E[-1]", "true");
0034 shouldBe("E['-1']", "undefined");
0035 shouldBe("delete E[-1]", "true");
0036 
0037 debug("Done.");