| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import "package:expect/expect.dart"; |
| |
| // Test for named parameter with the name of a JavaScript property found on |
| // 'Object'. For such a NAME, foo.NAME may exist in an empty map, i.e. |
| // 'toString' in {} --> true. |
| |
| |
| main() { |
| // Test properties found on instances of Object in Chrome 15 and Firefox 6. |
| test_constructor(); |
| test___proto__(); |
| test___defineGetter__(); |
| test___defineSetter__(); |
| test___lookupGetter__(); |
| test___lookupSetter__(); |
| test___noSuchMethod__(); |
| test_hasOwnProperty(); |
| test_isPrototypeOf(); |
| test_propertyIsEnumerable(); |
| test_toSource(); |
| test_toLocaleString(); |
| test_toString(); |
| test_unwatch(); |
| test_valueOf(); |
| test_watch(); |
| } |
| |
| // 'constructor' property. |
| |
| class TestClass_constructor { |
| method({constructor}) => constructor; |
| static staticMethod({constructor}) => constructor; |
| } |
| globalMethod_constructor({constructor}) => constructor; |
| |
| test_constructor() { |
| var obj = new TestClass_constructor(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(constructor: 0)); |
| |
| Expect.equals(null, TestClass_constructor.staticMethod()); |
| Expect.equals(0, TestClass_constructor.staticMethod(constructor: 0)); |
| |
| Expect.equals(null, globalMethod_constructor()); |
| Expect.equals(0, globalMethod_constructor(constructor: 0)); |
| } |
| |
| // '__proto__' property. |
| |
| class TestClass___proto__ { |
| method({__proto__}) => __proto__; |
| static staticMethod({__proto__}) => __proto__; |
| } |
| globalMethod___proto__({__proto__}) => __proto__; |
| |
| test___proto__() { |
| var obj = new TestClass___proto__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__proto__: 0)); |
| |
| Expect.equals(null, TestClass___proto__.staticMethod()); |
| Expect.equals(0, TestClass___proto__.staticMethod(__proto__: 0)); |
| |
| Expect.equals(null, globalMethod___proto__()); |
| Expect.equals(0, globalMethod___proto__(__proto__: 0)); |
| } |
| |
| // '__defineGetter__' property. |
| |
| class TestClass___defineGetter__ { |
| method({__defineGetter__}) => __defineGetter__; |
| static staticMethod({__defineGetter__}) => __defineGetter__; |
| } |
| globalMethod___defineGetter__({__defineGetter__}) => __defineGetter__; |
| |
| test___defineGetter__() { |
| var obj = new TestClass___defineGetter__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__defineGetter__: 0)); |
| |
| Expect.equals(null, TestClass___defineGetter__.staticMethod()); |
| Expect.equals(0, TestClass___defineGetter__.staticMethod(__defineGetter__: 0)); |
| |
| Expect.equals(null, globalMethod___defineGetter__()); |
| Expect.equals(0, globalMethod___defineGetter__(__defineGetter__: 0)); |
| } |
| |
| // '__defineSetter__' property. |
| |
| class TestClass___defineSetter__ { |
| method({__defineSetter__}) => __defineSetter__; |
| static staticMethod({__defineSetter__}) => __defineSetter__; |
| } |
| globalMethod___defineSetter__({__defineSetter__}) => __defineSetter__; |
| |
| test___defineSetter__() { |
| var obj = new TestClass___defineSetter__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__defineSetter__: 0)); |
| |
| Expect.equals(null, TestClass___defineSetter__.staticMethod()); |
| Expect.equals(0, TestClass___defineSetter__.staticMethod(__defineSetter__: 0)); |
| |
| Expect.equals(null, globalMethod___defineSetter__()); |
| Expect.equals(0, globalMethod___defineSetter__(__defineSetter__: 0)); |
| } |
| |
| // '__lookupGetter__' property. |
| |
| class TestClass___lookupGetter__ { |
| method({__lookupGetter__}) => __lookupGetter__; |
| static staticMethod({__lookupGetter__}) => __lookupGetter__; |
| } |
| globalMethod___lookupGetter__({__lookupGetter__}) => __lookupGetter__; |
| |
| test___lookupGetter__() { |
| var obj = new TestClass___lookupGetter__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__lookupGetter__: 0)); |
| |
| Expect.equals(null, TestClass___lookupGetter__.staticMethod()); |
| Expect.equals(0, TestClass___lookupGetter__.staticMethod(__lookupGetter__: 0)); |
| |
| Expect.equals(null, globalMethod___lookupGetter__()); |
| Expect.equals(0, globalMethod___lookupGetter__(__lookupGetter__: 0)); |
| } |
| |
| // '__lookupSetter__' property. |
| |
| class TestClass___lookupSetter__ { |
| method({__lookupSetter__}) => __lookupSetter__; |
| static staticMethod({__lookupSetter__}) => __lookupSetter__; |
| } |
| globalMethod___lookupSetter__({__lookupSetter__}) => __lookupSetter__; |
| |
| test___lookupSetter__() { |
| var obj = new TestClass___lookupSetter__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__lookupSetter__: 0)); |
| |
| Expect.equals(null, TestClass___lookupSetter__.staticMethod()); |
| Expect.equals(0, TestClass___lookupSetter__.staticMethod(__lookupSetter__: 0)); |
| |
| Expect.equals(null, globalMethod___lookupSetter__()); |
| Expect.equals(0, globalMethod___lookupSetter__(__lookupSetter__: 0)); |
| } |
| |
| // '__noSuchMethod__' property. |
| |
| class TestClass___noSuchMethod__ { |
| method({__noSuchMethod__}) => __noSuchMethod__; |
| static staticMethod({__noSuchMethod__}) => __noSuchMethod__; |
| } |
| globalMethod___noSuchMethod__({__noSuchMethod__}) => __noSuchMethod__; |
| |
| test___noSuchMethod__() { |
| var obj = new TestClass___noSuchMethod__(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(__noSuchMethod__: 0)); |
| |
| Expect.equals(null, TestClass___noSuchMethod__.staticMethod()); |
| Expect.equals(0, TestClass___noSuchMethod__.staticMethod(__noSuchMethod__: 0)); |
| |
| Expect.equals(null, globalMethod___noSuchMethod__()); |
| Expect.equals(0, globalMethod___noSuchMethod__(__noSuchMethod__: 0)); |
| } |
| |
| // 'hasOwnProperty' property. |
| |
| class TestClass_hasOwnProperty { |
| method({hasOwnProperty}) => hasOwnProperty; |
| static staticMethod({hasOwnProperty}) => hasOwnProperty; |
| } |
| globalMethod_hasOwnProperty({hasOwnProperty}) => hasOwnProperty; |
| |
| test_hasOwnProperty() { |
| var obj = new TestClass_hasOwnProperty(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(hasOwnProperty: 0)); |
| |
| Expect.equals(null, TestClass_hasOwnProperty.staticMethod()); |
| Expect.equals(0, TestClass_hasOwnProperty.staticMethod(hasOwnProperty: 0)); |
| |
| Expect.equals(null, globalMethod_hasOwnProperty()); |
| Expect.equals(0, globalMethod_hasOwnProperty(hasOwnProperty: 0)); |
| } |
| |
| // 'isPrototypeOf' property. |
| |
| class TestClass_isPrototypeOf { |
| method({isPrototypeOf}) => isPrototypeOf; |
| static staticMethod({isPrototypeOf}) => isPrototypeOf; |
| } |
| globalMethod_isPrototypeOf({isPrototypeOf}) => isPrototypeOf; |
| |
| test_isPrototypeOf() { |
| var obj = new TestClass_isPrototypeOf(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(isPrototypeOf: 0)); |
| |
| Expect.equals(null, TestClass_isPrototypeOf.staticMethod()); |
| Expect.equals(0, TestClass_isPrototypeOf.staticMethod(isPrototypeOf: 0)); |
| |
| Expect.equals(null, globalMethod_isPrototypeOf()); |
| Expect.equals(0, globalMethod_isPrototypeOf(isPrototypeOf: 0)); |
| } |
| |
| // 'propertyIsEnumerable' property. |
| |
| class TestClass_propertyIsEnumerable { |
| method({propertyIsEnumerable}) => propertyIsEnumerable; |
| static staticMethod({propertyIsEnumerable}) => propertyIsEnumerable; |
| } |
| globalMethod_propertyIsEnumerable({propertyIsEnumerable}) => propertyIsEnumerable; |
| |
| test_propertyIsEnumerable() { |
| var obj = new TestClass_propertyIsEnumerable(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(propertyIsEnumerable: 0)); |
| |
| Expect.equals(null, TestClass_propertyIsEnumerable.staticMethod()); |
| Expect.equals(0, TestClass_propertyIsEnumerable.staticMethod(propertyIsEnumerable: 0)); |
| |
| Expect.equals(null, globalMethod_propertyIsEnumerable()); |
| Expect.equals(0, globalMethod_propertyIsEnumerable(propertyIsEnumerable: 0)); |
| } |
| |
| // 'toSource' property. |
| |
| class TestClass_toSource { |
| method({toSource}) => toSource; |
| static staticMethod({toSource}) => toSource; |
| } |
| globalMethod_toSource({toSource}) => toSource; |
| |
| test_toSource() { |
| var obj = new TestClass_toSource(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(toSource: 0)); |
| |
| Expect.equals(null, TestClass_toSource.staticMethod()); |
| Expect.equals(0, TestClass_toSource.staticMethod(toSource: 0)); |
| |
| Expect.equals(null, globalMethod_toSource()); |
| Expect.equals(0, globalMethod_toSource(toSource: 0)); |
| } |
| |
| // 'toLocaleString' property. |
| |
| class TestClass_toLocaleString { |
| method({toLocaleString}) => toLocaleString; |
| static staticMethod({toLocaleString}) => toLocaleString; |
| } |
| globalMethod_toLocaleString({toLocaleString}) => toLocaleString; |
| |
| test_toLocaleString() { |
| var obj = new TestClass_toLocaleString(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(toLocaleString: 0)); |
| |
| Expect.equals(null, TestClass_toLocaleString.staticMethod()); |
| Expect.equals(0, TestClass_toLocaleString.staticMethod(toLocaleString: 0)); |
| |
| Expect.equals(null, globalMethod_toLocaleString()); |
| Expect.equals(0, globalMethod_toLocaleString(toLocaleString: 0)); |
| } |
| |
| // 'toString' property. |
| |
| class TestClass_toString { |
| method({toString}) => toString; |
| static staticMethod({toString}) => toString; |
| } |
| globalMethod_toString({toString}) => toString; |
| |
| test_toString() { |
| var obj = new TestClass_toString(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(toString: 0)); |
| |
| Expect.equals(null, TestClass_toString.staticMethod()); |
| Expect.equals(0, TestClass_toString.staticMethod(toString: 0)); |
| |
| Expect.equals(null, globalMethod_toString()); |
| Expect.equals(0, globalMethod_toString(toString: 0)); |
| } |
| |
| // 'unwatch' property. |
| |
| class TestClass_unwatch { |
| method({unwatch}) => unwatch; |
| static staticMethod({unwatch}) => unwatch; |
| } |
| globalMethod_unwatch({unwatch}) => unwatch; |
| |
| test_unwatch() { |
| var obj = new TestClass_unwatch(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(unwatch: 0)); |
| |
| Expect.equals(null, TestClass_unwatch.staticMethod()); |
| Expect.equals(0, TestClass_unwatch.staticMethod(unwatch: 0)); |
| |
| Expect.equals(null, globalMethod_unwatch()); |
| Expect.equals(0, globalMethod_unwatch(unwatch: 0)); |
| } |
| |
| // 'valueOf' property. |
| |
| class TestClass_valueOf { |
| method({valueOf}) => valueOf; |
| static staticMethod({valueOf}) => valueOf; |
| } |
| globalMethod_valueOf({valueOf}) => valueOf; |
| |
| test_valueOf() { |
| var obj = new TestClass_valueOf(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(valueOf: 0)); |
| |
| Expect.equals(null, TestClass_valueOf.staticMethod()); |
| Expect.equals(0, TestClass_valueOf.staticMethod(valueOf: 0)); |
| |
| Expect.equals(null, globalMethod_valueOf()); |
| Expect.equals(0, globalMethod_valueOf(valueOf: 0)); |
| } |
| |
| // 'watch' property. |
| |
| class TestClass_watch { |
| method({watch}) => watch; |
| static staticMethod({watch}) => watch; |
| } |
| globalMethod_watch({watch}) => watch; |
| |
| test_watch() { |
| var obj = new TestClass_watch(); |
| |
| Expect.equals(null, obj.method()); |
| Expect.equals(0, obj.method(watch: 0)); |
| |
| Expect.equals(null, TestClass_watch.staticMethod()); |
| Expect.equals(0, TestClass_watch.staticMethod(watch: 0)); |
| |
| Expect.equals(null, globalMethod_watch()); |
| Expect.equals(0, globalMethod_watch(watch: 0)); |
| } |