Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1029)

Side by Side Diff: test/mjsunit/harmony/classes.js

Issue 1027283004: [es6] do not add caller/arguments to ES6 function definitions (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove unneeded bits Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --harmony-classes --harmony-sloppy 5 // Flags: --harmony-classes --harmony-sloppy
6 6
7 (function TestBasics() { 7 (function TestBasics() {
8 var C = class C {} 8 var C = class C {}
9 assertEquals(typeof C, 'function'); 9 assertEquals(typeof C, 'function');
10 assertEquals(C.__proto__, Function.prototype); 10 assertEquals(C.__proto__, Function.prototype);
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 868
869 class C3 extends Object { 869 class C3 extends Object {
870 constructor() { 870 constructor() {
871 ; 'use strict';;;;; 871 ; 'use strict';;;;;
872 // This is a comment. 872 // This is a comment.
873 super(); 873 super();
874 } 874 }
875 }; 875 };
876 new C3(); 876 new C3();
877 }()); 877 }());
878
879
880 function testClassRestrictedProperties(C) {
881 assertEquals(false, C.hasOwnProperty("arguments"));
882 assertEquals(null, C.arguments);
883
884 assertEquals(false, C.hasOwnProperty("caller"));
885 assertEquals(null, C.caller);
886
887 assertEquals(false, (new C).method.hasOwnProperty("arguments"));
888 assertEquals(null, (new C).method.arguments);
889
890 assertEquals(false, (new C).method.hasOwnProperty("caller"));
891 assertEquals(null, (new C).method.caller);
892 }
893
894
895 (function testRestrictedPropertiesStrict() {
896 "use strict";
897 class ClassWithDefaultConstructor {
898 method() {}
899 }
900 class Class {
901 constructor() {}
902 method() {}
903 }
arv (Not doing code reviews) 2015/03/25 13:36:47 Maybe have a derived class too?
904
905 testClassRestrictedProperties(ClassWithDefaultConstructor);
906 testClassRestrictedProperties(Class);
907 testClassRestrictedProperties(class { method() {} });
908 testClassRestrictedProperties(class { constructor() {} method() {} });
909 })();
910
911
912 (function testRestrictedPropertiesSloppy() {
913 class ClassWithDefaultConstructor {
914 method() {}
915 }
916 class Class {
917 constructor() {}
918 method() {}
919 }
920
921 testClassRestrictedProperties(ClassWithDefaultConstructor);
922 testClassRestrictedProperties(Class);
923 testClassRestrictedProperties(class { method() {} });
924 testClassRestrictedProperties(class { constructor() {} method() {} });
925 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698