| OLD | NEW | 
|---|
| 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 779   { SimpleContext context; | 779   { SimpleContext context; | 
| 780     context.Check("var x = 1; x", | 780     context.Check("var x = 1; x", | 
| 781                   EXPECT_RESULT, Number::New(1)); | 781                   EXPECT_RESULT, Number::New(1)); | 
| 782     context.Check("x", | 782     context.Check("x", | 
| 783                   EXPECT_RESULT, Number::New(1)); | 783                   EXPECT_RESULT, Number::New(1)); | 
| 784     context.Check("this.x", | 784     context.Check("this.x", | 
| 785                   EXPECT_RESULT, Number::New(1)); | 785                   EXPECT_RESULT, Number::New(1)); | 
| 786   } | 786   } | 
| 787 | 787 | 
| 788   { SimpleContext context; | 788   { SimpleContext context; | 
|  | 789     context.Check("function x() { return 4 }; x()", | 
|  | 790                   EXPECT_RESULT, Number::New(4)); | 
|  | 791     context.Check("x()", | 
|  | 792                   EXPECT_RESULT, Number::New(4)); | 
|  | 793     context.Check("this.x()", | 
|  | 794                   EXPECT_RESULT, Number::New(4)); | 
|  | 795   } | 
|  | 796 | 
|  | 797   { SimpleContext context; | 
| 789     context.Check("let x = 2; x", | 798     context.Check("let x = 2; x", | 
| 790                   EXPECT_RESULT, Number::New(2)); | 799                   EXPECT_RESULT, Number::New(2)); | 
| 791     context.Check("x", | 800     context.Check("x", | 
| 792                   EXPECT_RESULT, Number::New(2)); | 801                   EXPECT_RESULT, Number::New(2)); | 
| 793     context.Check("this.x", | 802     // TODO(rossberg): The current ES6 draft spec does not reflect lexical | 
| 794                   EXPECT_RESULT, Number::New(2)); | 803     // bindings on the global object. However, this will probably change, in | 
|  | 804     // which case we reactivate the following test. | 
|  | 805     // context.Check("this.x", | 
|  | 806     //               EXPECT_RESULT, Number::New(2)); | 
| 795   } | 807   } | 
| 796 | 808 | 
| 797   { SimpleContext context; | 809   { SimpleContext context; | 
| 798     context.Check("const x = 3; x", | 810     context.Check("const x = 3; x", | 
| 799                   EXPECT_RESULT, Number::New(3)); | 811                   EXPECT_RESULT, Number::New(3)); | 
| 800     context.Check("x", | 812     context.Check("x", | 
| 801                   EXPECT_RESULT, Number::New(3)); | 813                   EXPECT_RESULT, Number::New(3)); | 
| 802     context.Check("this.x", | 814     // TODO(rossberg): The current ES6 draft spec does not reflect lexical | 
| 803                   EXPECT_RESULT, Number::New(3)); | 815     // bindings on the global object. However, this will probably change, in | 
| 804   } | 816     // which case we reactivate the following test. | 
| 805 | 817     // context.Check("this.x", | 
| 806   { SimpleContext context; | 818     //              EXPECT_RESULT, Number::New(3)); | 
| 807     context.Check("function x() { return 4 }; x()", |  | 
| 808                   EXPECT_RESULT, Number::New(4)); |  | 
| 809     context.Check("x()", |  | 
| 810                   EXPECT_RESULT, Number::New(4)); |  | 
| 811     context.Check("this.x()", |  | 
| 812                   EXPECT_RESULT, Number::New(4)); |  | 
| 813   } | 819   } | 
| 814 | 820 | 
| 815   // TODO(rossberg): All of the below should actually be errors in Harmony. | 821   // TODO(rossberg): All of the below should actually be errors in Harmony. | 
| 816 | 822 | 
| 817   { SimpleContext context; | 823   { SimpleContext context; | 
| 818     context.Check("var x = 1; x", | 824     context.Check("var x = 1; x", | 
| 819                   EXPECT_RESULT, Number::New(1)); | 825                   EXPECT_RESULT, Number::New(1)); | 
| 820     context.Check("let x = 2; x", | 826     context.Check("let x = 2; x", | 
| 821                   EXPECT_RESULT, Number::New(2)); | 827                   EXPECT_RESULT, Number::New(2)); | 
| 822   } | 828   } | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 839     context.Check("function x() { return 1 }; x()", | 845     context.Check("function x() { return 1 }; x()", | 
| 840                   EXPECT_RESULT, Number::New(1)); | 846                   EXPECT_RESULT, Number::New(1)); | 
| 841     context.Check("const x = 2; x", | 847     context.Check("const x = 2; x", | 
| 842                   EXPECT_RESULT, Number::New(2)); | 848                   EXPECT_RESULT, Number::New(2)); | 
| 843   } | 849   } | 
| 844 | 850 | 
| 845   { SimpleContext context; | 851   { SimpleContext context; | 
| 846     context.Check("let x = 1; x", | 852     context.Check("let x = 1; x", | 
| 847                   EXPECT_RESULT, Number::New(1)); | 853                   EXPECT_RESULT, Number::New(1)); | 
| 848     context.Check("var x = 2; x", | 854     context.Check("var x = 2; x", | 
| 849                   EXPECT_RESULT, Number::New(2)); | 855                   EXPECT_ERROR); | 
| 850   } | 856   } | 
| 851 | 857 | 
| 852   { SimpleContext context; | 858   { SimpleContext context; | 
| 853     context.Check("let x = 1; x", | 859     context.Check("let x = 1; x", | 
| 854                   EXPECT_RESULT, Number::New(1)); | 860                   EXPECT_RESULT, Number::New(1)); | 
| 855     context.Check("let x = 2; x", | 861     context.Check("let x = 2; x", | 
| 856                   EXPECT_RESULT, Number::New(2)); | 862                   EXPECT_ERROR); | 
| 857   } | 863   } | 
| 858 | 864 | 
| 859   { SimpleContext context; | 865   { SimpleContext context; | 
| 860     context.Check("let x = 1; x", | 866     context.Check("let x = 1; x", | 
| 861                   EXPECT_RESULT, Number::New(1)); | 867                   EXPECT_RESULT, Number::New(1)); | 
| 862     context.Check("const x = 2; x", | 868     context.Check("const x = 2; x", | 
| 863                   EXPECT_RESULT, Number::New(2)); | 869                   EXPECT_ERROR); | 
| 864   } | 870   } | 
| 865 | 871 | 
| 866   { SimpleContext context; | 872   { SimpleContext context; | 
| 867     context.Check("let x = 1; x", | 873     context.Check("let x = 1; x", | 
| 868                   EXPECT_RESULT, Number::New(1)); | 874                   EXPECT_RESULT, Number::New(1)); | 
| 869     context.Check("function x() { return 2 }; x()", | 875     context.Check("function x() { return 2 }; x()", | 
| 870                   EXPECT_RESULT, Number::New(2)); | 876                   EXPECT_ERROR); | 
| 871   } | 877   } | 
| 872 | 878 | 
| 873   { SimpleContext context; | 879   { SimpleContext context; | 
| 874     context.Check("const x = 1; x", | 880     context.Check("const x = 1; x", | 
| 875                   EXPECT_RESULT, Number::New(1)); | 881                   EXPECT_RESULT, Number::New(1)); | 
| 876     context.Check("var x = 2; x", | 882     context.Check("var x = 2; x", | 
| 877                   EXPECT_RESULT, Number::New(1)); | 883                   EXPECT_ERROR); | 
| 878   } | 884   } | 
| 879 | 885 | 
| 880   { SimpleContext context; | 886   { SimpleContext context; | 
| 881     context.Check("const x = 1; x", | 887     context.Check("const x = 1; x", | 
| 882                   EXPECT_RESULT, Number::New(1)); | 888                   EXPECT_RESULT, Number::New(1)); | 
| 883     context.Check("let x = 2; x", | 889     context.Check("let x = 2; x", | 
| 884                   EXPECT_EXCEPTION); | 890                   EXPECT_ERROR); | 
| 885   } | 891   } | 
| 886 | 892 | 
| 887   { SimpleContext context; | 893   { SimpleContext context; | 
| 888     context.Check("const x = 1; x", | 894     context.Check("const x = 1; x", | 
| 889                   EXPECT_RESULT, Number::New(1)); | 895                   EXPECT_RESULT, Number::New(1)); | 
| 890     context.Check("const x = 2; x", | 896     context.Check("const x = 2; x", | 
| 891                   EXPECT_RESULT, Number::New(1)); | 897                   EXPECT_ERROR); | 
| 892   } | 898   } | 
| 893 | 899 | 
| 894   { SimpleContext context; | 900   { SimpleContext context; | 
| 895     context.Check("const x = 1; x", | 901     context.Check("const x = 1; x", | 
| 896                   EXPECT_RESULT, Number::New(1)); | 902                   EXPECT_RESULT, Number::New(1)); | 
| 897     context.Check("function x() { return 2 }; x()", | 903     context.Check("function x() { return 2 }; x()", | 
| 898                   EXPECT_EXCEPTION); | 904                   EXPECT_ERROR); | 
| 899   } | 905   } | 
| 900 } | 906 } | 
| OLD | NEW | 
|---|