| Index: test/browser/runtime_tests.js
|
| diff --git a/test/browser/runtime_tests.js b/test/browser/runtime_tests.js
|
| index f6340f9e1d5dd7d595499389d0e05402dd7cac37..9e4617b8255ac2807b54900cd325117f65688e94 100644
|
| --- a/test/browser/runtime_tests.js
|
| +++ b/test/browser/runtime_tests.js
|
| @@ -3,8 +3,16 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| var assert = chai.assert;
|
| -var core = dart.import('dart/core');
|
| -var collection = dart.import('dart/collection');
|
| +var core = dart_library.import('dart/core');
|
| +var collection = dart_library.import('dart/collection');
|
| +var dart = dart_library.import('dart_runtime/dart');
|
| +var dartx = dart.dartx;
|
| +
|
| +// TODO(leafp): These are here to test some things not
|
| +// currently exposed through the main dart entry point.
|
| +// If we decide to expose them, this can go away.
|
| +var classes = dart_library.import('dart_runtime/_classes');
|
| +var types = dart_library.import('dart_runtime/_types');
|
|
|
| suite('generic', () => {
|
| "use strict";
|
| @@ -71,8 +79,8 @@ suite('generic', () => {
|
| test('type constructor is reflectable', () => {
|
| let SomeType = generic(function(x, y) { return Object.create(null); });
|
| let someValue = SomeType('hi', 123);
|
| - assert.equal(someValue[dart.originalDeclaration], SomeType);
|
| - assert.deepEqual(someValue[dart.typeArguments], ['hi', 123]);
|
| + assert.equal(classes.getGenericClass(someValue), SomeType);
|
| + assert.deepEqual(classes.getGenericArgs(someValue), ['hi', 123]);
|
| });
|
|
|
| test('proper type constructor is called', () => {
|
| @@ -88,7 +96,7 @@ suite('instanceOf', () => {
|
| "use strict";
|
|
|
| let expect = assert.equal;
|
| - let isGroundType = dart.isGroundType;
|
| + let isGroundType = types.isGroundType;
|
| let generic = dart.generic;
|
| let intIsNonNullable = false;
|
| let cast = dart.as;
|
| @@ -96,7 +104,7 @@ suite('instanceOf', () => {
|
| let runtimeType = dart.realRuntimeType;
|
| let functionType = dart.functionType;
|
| let typedef = dart.typedef;
|
| - let isSubtype = dart.isSubtype;
|
| + let isSubtype = types.isSubtype;
|
|
|
| let Object = core.Object;
|
| let String = core.String;
|
| @@ -365,6 +373,24 @@ suite('instanceOf', () => {
|
| checkType(s1, c.SetMixin$(int), false);
|
| });
|
|
|
| + test('Type', () => {
|
| + checkType(int, core.Type, true);
|
| + checkType(num, core.Type, true);
|
| + checkType(bool, core.Type, true);
|
| + checkType(String, core.Type, true);
|
| + checkType(dynamic, core.Type, true);
|
| + checkType(Object, core.Type, true);
|
| + checkType(List, core.Type, true);
|
| + checkType(Map, core.Type, true);
|
| + checkType(Map$(int, String), core.Type, true);
|
| + checkType(Func2, core.Type, true);
|
| + checkType(functionType(dynamic, [dynamic]), core.Type, true);
|
| + checkType(core.Type, core.Type, true);
|
| +
|
| + checkType(3, core.Type, false);
|
| + checkType("hello", core.Type, false);
|
| + })
|
| +
|
| test('Functions', () => {
|
| // - return type: Dart is bivariant. We're covariant.
|
| // - param types: Dart is bivariant. We're contravariant.
|
|
|