Index: pkg/dev_compiler/test/codegen_expected/identity_test.js |
diff --git a/pkg/dev_compiler/test/codegen_expected/identity_test.js b/pkg/dev_compiler/test/codegen_expected/identity_test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..32beed1f464e29304e08dc6928042f0a78db2caf |
--- /dev/null |
+++ b/pkg/dev_compiler/test/codegen_expected/identity_test.js |
@@ -0,0 +1,1149 @@ |
+define(['dart_sdk', 'expect'], function(dart_sdk, expect) { |
+ 'use strict'; |
+ const core = dart_sdk.core; |
+ const dart = dart_sdk.dart; |
+ const dartx = dart_sdk.dartx; |
+ const minitest = expect.minitest; |
+ const identity_test = Object.create(null); |
+ let TToT = () => (TToT = dart.constFn(dart.gFnType(T => [T, [T]])))(); |
+ let VoidToT = () => (VoidToT = dart.constFn(dart.gFnType(T => [T, []])))(); |
+ let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))(); |
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))(); |
+ identity_test.Music = class Music extends core.Object { |
+ toString() { |
+ return { |
+ 0: "Music.country", |
+ 1: "Music.western" |
+ }[this.index]; |
+ } |
+ }; |
+ (identity_test.Music.new = function(x) { |
+ this.index = x; |
+ }).prototype = identity_test.Music.prototype; |
+ dart.setSignature(identity_test.Music, { |
+ fields: () => ({index: dart.finalFieldType(core.int)}) |
+ }); |
+ dart.defineEnumValues(identity_test.Music, [ |
+ 'country', |
+ 'western' |
+ ]); |
+ identity_test.BluesBrother = class BluesBrother extends core.Object {}; |
+ (identity_test.BluesBrother.new = function() { |
+ }).prototype = identity_test.BluesBrother.prototype; |
+ identity_test._Jake = class _Jake extends identity_test.BluesBrother {}; |
+ (identity_test._Jake.new = function() { |
+ }).prototype = identity_test._Jake.prototype; |
+ identity_test._Elwood = class _Elwood extends identity_test.BluesBrother { |
+ ['=='](other) { |
+ return identity_test._Elwood.is(other); |
+ } |
+ }; |
+ (identity_test._Elwood.new = function() { |
+ }).prototype = identity_test._Elwood.prototype; |
+ dart.setSignature(identity_test._Elwood, { |
+ methods: () => ({'==': dart.fnType(core.bool, [core.Object])}) |
+ }); |
+ identity_test._Norman = class _Norman extends identity_test.BluesBrother {}; |
+ (identity_test._Norman.new = function() { |
+ }).prototype = identity_test._Norman.prototype; |
+ identity_test.hideNull = function(T) { |
+ return x => { |
+ return x; |
+ }; |
+ }; |
+ dart.fn(identity_test.hideNull, TToT()); |
+ identity_test.getUndefined = function(T) { |
+ return () => { |
+ return T._check(core.List.new(1)[dartx._get](0)); |
+ }; |
+ }; |
+ dart.fn(identity_test.getUndefined, VoidToT()); |
+ identity_test.main = function() { |
+ minitest.group('Enum identity', dart.fn(() => { |
+ minitest.test('Identical enum/enum (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music.country); |
+ let e2 = identity_test.hideNull(identity_test.Music)(identity_test.Music.western); |
+ let d1 = identity_test.hideNull(identity_test.Music)(identity_test.Music.country); |
+ let d2 = identity_test.hideNull(identity_test.Music)(identity_test.Music.western); |
+ let o1 = identity_test.hideNull(core.Object)(identity_test.Music.country); |
+ let o2 = identity_test.hideNull(core.Object)(identity_test.Music.western); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical enum/enum (non-null)', dart.fn(() => { |
+ let e1 = identity_test.Music.country; |
+ let e2 = identity_test.Music.western; |
+ let d1 = identity_test.Music.country; |
+ let d2 = identity_test.Music.western; |
+ let o1 = identity_test.Music.country; |
+ let o2 = identity_test.Music.western; |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical enum/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music.country); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(e1 == l1, false); |
+ minitest.expect(e1 == b1, false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(l1 == e1, false); |
+ minitest.expect(b1 == e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical enum/other (static, non-null)', dart.fn(() => { |
+ let e1 = identity_test.Music.country; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical enum/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music.country); |
+ let d1 = identity_test.hideNull(identity_test.Music)(identity_test.Music.country); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical enum/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = identity_test.Music.country; |
+ let d1 = identity_test.Music.country; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('String identity', dart.fn(() => { |
+ minitest.test('Identical string/string (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let e2 = identity_test.hideNull(core.String)("Band"); |
+ let d1 = identity_test.hideNull(core.String)("The"); |
+ let d2 = identity_test.hideNull(core.String)("Band"); |
+ let o1 = identity_test.hideNull(core.Object)("The"); |
+ let o2 = identity_test.hideNull(core.Object)("Band"); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/string (non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let e2 = "Band"; |
+ let d1 = "The"; |
+ let d2 = "Band"; |
+ let o1 = "The"; |
+ let o2 = "Band"; |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(e1 == s1, false); |
+ minitest.expect(e1 == s2, false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(s1 == e1, false); |
+ minitest.expect(s2 == e1, false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (static, non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let d1 = identity_test.hideNull(core.String)("The"); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let d1 = "The"; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('Boolean identity', dart.fn(() => { |
+ minitest.test('Identical bool/bool (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.bool)(true); |
+ let e2 = identity_test.hideNull(core.bool)(false); |
+ let d1 = identity_test.hideNull(core.bool)(true); |
+ let d2 = identity_test.hideNull(core.bool)(false); |
+ let o1 = identity_test.hideNull(core.Object)(true); |
+ let o2 = identity_test.hideNull(core.Object)(false); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/bool (non-null)', dart.fn(() => { |
+ let e1 = true; |
+ let e2 = false; |
+ let d1 = true; |
+ let d2 = false; |
+ let o1 = true; |
+ let o2 = false; |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.bool)(true); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/other (static, non-null)', dart.fn(() => { |
+ let e1 = true; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.bool)(true); |
+ let d1 = identity_test.hideNull(core.bool)(true); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = true; |
+ let d1 = true; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('String identity', dart.fn(() => { |
+ minitest.test('Identical string/string (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let e2 = identity_test.hideNull(core.String)("Band"); |
+ let d1 = identity_test.hideNull(core.String)("The"); |
+ let d2 = identity_test.hideNull(core.String)("Band"); |
+ let o1 = identity_test.hideNull(core.Object)("The"); |
+ let o2 = identity_test.hideNull(core.Object)("Band"); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/string (non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let e2 = "Band"; |
+ let d1 = "The"; |
+ let d2 = "Band"; |
+ let o1 = "The"; |
+ let o2 = "Band"; |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(e1 == s1, false); |
+ minitest.expect(e1 == s2, false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(s1 == e1, false); |
+ minitest.expect(s2 == e1, false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (static, non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.String)("The"); |
+ let d1 = identity_test.hideNull(core.String)("The"); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = "The"; |
+ let d1 = "The"; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('Number identity', dart.fn(() => { |
+ minitest.test('Identical int/int (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.int)(11); |
+ let e2 = identity_test.hideNull(core.int)(12); |
+ let d1 = identity_test.hideNull(core.int)(11); |
+ let d2 = identity_test.hideNull(core.int)(12); |
+ let o1 = identity_test.hideNull(core.Object)(11); |
+ let o2 = identity_test.hideNull(core.Object)(12); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/int (non-null)', dart.fn(() => { |
+ let e1 = 11; |
+ let e2 = 12; |
+ let d1 = 11; |
+ let d2 = 12; |
+ let o1 = 11; |
+ let o2 = 12; |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.int)(11); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(e1 == i1, false); |
+ minitest.expect(e1 == i2, false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(i1 == e1, false); |
+ minitest.expect(i2 == e1, false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/other (static, non-null)', dart.fn(() => { |
+ let e1 = 11; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(core.int)(11); |
+ let d1 = identity_test.hideNull(core.int)(11); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = 11; |
+ let d1 = 11; |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('Object identity', dart.fn(() => { |
+ minitest.test('Identical object/object (nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._Jake.new()); |
+ let e2 = identity_test.hideNull(identity_test._Elwood)(new identity_test._Elwood.new()); |
+ let d1 = identity_test.hideNull(identity_test._Jake)(e1); |
+ let d2 = identity_test.hideNull(identity_test._Elwood)(new identity_test._Elwood.new()); |
+ let o1 = identity_test.hideNull(core.Object)(e1); |
+ let o2 = identity_test.hideNull(core.Object)(new identity_test._Elwood.new()); |
+ minitest.expect(e1 == e1, true); |
+ minitest.expect(core.identical(e1, d1), true); |
+ minitest.expect(core.identical(e1, o1), true); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(e1, o2), false); |
+ minitest.expect(core.identical(e1, d2), false); |
+ minitest.expect(e1 == e2, false); |
+ minitest.expect(core.identical(d1, e1), true); |
+ minitest.expect(core.identical(d1, d1), true); |
+ minitest.expect(core.identical(d1, o1), true); |
+ minitest.expect(core.identical(d1, e2), false); |
+ minitest.expect(core.identical(d1, d2), false); |
+ minitest.expect(core.identical(d1, o2), false); |
+ minitest.expect(core.identical(o1, e1), true); |
+ minitest.expect(core.identical(o1, d1), true); |
+ minitest.expect(core.identical(o1, o1), true); |
+ minitest.expect(core.identical(o1, e2), false); |
+ minitest.expect(core.identical(o1, d2), false); |
+ minitest.expect(core.identical(o1, o2), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical object/object (non-null)', dart.fn(() => { |
+ let e1 = new identity_test._Jake.new(); |
+ let e2 = new identity_test._Elwood.new(); |
+ let d1 = e1; |
+ let d2 = new identity_test._Elwood.new(); |
+ let o1 = e1; |
+ let o2 = new identity_test._Elwood.new(); |
+ minitest.expect(e1 === e1, true); |
+ minitest.expect(e1 === d1, true); |
+ minitest.expect(e1 === o1, true); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(e1 === o2, false); |
+ minitest.expect(e1 === d2, false); |
+ minitest.expect(e1 === e2, false); |
+ minitest.expect(d1 === e1, true); |
+ minitest.expect(d1 === d1, true); |
+ minitest.expect(d1 === o1, true); |
+ minitest.expect(d1 === e2, false); |
+ minitest.expect(d1 === d2, false); |
+ minitest.expect(d1 === o2, false); |
+ minitest.expect(o1 === e1, true); |
+ minitest.expect(o1 === d1, true); |
+ minitest.expect(o1 === o1, true); |
+ minitest.expect(o1 === e2, false); |
+ minitest.expect(o1 === d2, false); |
+ minitest.expect(o1 === o2, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical object/other (static, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._Jake.new()); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(e1 == l1, false); |
+ minitest.expect(e1 == b1, false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(l1 == e1, false); |
+ minitest.expect(b1 == e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical object/other (static, non-null)', dart.fn(() => { |
+ let e1 = new identity_test._Jake.new(); |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ }, VoidToNull())); |
+ minitest.test('Identical object/other (dynamic, nullable)', dart.fn(() => { |
+ let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._Jake.new()); |
+ let d1 = identity_test.hideNull(identity_test._Jake)(new identity_test._Jake.new()); |
+ let s1 = identity_test.hideNull(core.String)("hello"); |
+ let s2 = identity_test.hideNull(core.String)(""); |
+ let i1 = identity_test.hideNull(core.int)(3); |
+ let i2 = identity_test.hideNull(core.int)(0); |
+ let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
+ let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test._Norman.new()); |
+ minitest.expect(core.identical(e1, s1), false); |
+ minitest.expect(core.identical(e1, s2), false); |
+ minitest.expect(core.identical(e1, i1), false); |
+ minitest.expect(core.identical(e1, i2), false); |
+ minitest.expect(core.identical(e1, l1), false); |
+ minitest.expect(core.identical(e1, b1), false); |
+ minitest.expect(core.identical(s1, e1), false); |
+ minitest.expect(core.identical(s2, e1), false); |
+ minitest.expect(core.identical(i1, e1), false); |
+ minitest.expect(core.identical(i2, e1), false); |
+ minitest.expect(core.identical(l1, e1), false); |
+ minitest.expect(core.identical(b1, e1), false); |
+ minitest.expect(core.identical(d1, s1), false); |
+ minitest.expect(core.identical(d1, s2), false); |
+ minitest.expect(core.identical(d1, i1), false); |
+ minitest.expect(core.identical(d1, i2), false); |
+ minitest.expect(core.identical(d1, l1), false); |
+ minitest.expect(core.identical(d1, b1), false); |
+ minitest.expect(core.identical(s1, d1), false); |
+ minitest.expect(core.identical(s2, d1), false); |
+ minitest.expect(core.identical(i1, d1), false); |
+ minitest.expect(core.identical(i2, d1), false); |
+ minitest.expect(core.identical(l1, d1), false); |
+ minitest.expect(core.identical(b1, d1), false); |
+ }, VoidToNull())); |
+ minitest.test('Identical object/other (dynamic, non-null)', dart.fn(() => { |
+ let e1 = new identity_test._Jake.new(); |
+ let d1 = new identity_test._Jake.new(); |
+ let s1 = "hello"; |
+ let s2 = ""; |
+ let i1 = 3; |
+ let i2 = 0; |
+ let l1 = core.List.new(3); |
+ let b1 = new identity_test._Norman.new(); |
+ minitest.expect(e1 === s1, false); |
+ minitest.expect(e1 === s2, false); |
+ minitest.expect(e1 === i1, false); |
+ minitest.expect(e1 === i2, false); |
+ minitest.expect(e1 === l1, false); |
+ minitest.expect(e1 === b1, false); |
+ minitest.expect(s1 === e1, false); |
+ minitest.expect(s2 === e1, false); |
+ minitest.expect(i1 === e1, false); |
+ minitest.expect(i2 === e1, false); |
+ minitest.expect(l1 === e1, false); |
+ minitest.expect(b1 === e1, false); |
+ minitest.expect(d1 === s1, false); |
+ minitest.expect(d1 === s2, false); |
+ minitest.expect(d1 === i1, false); |
+ minitest.expect(d1 === i2, false); |
+ minitest.expect(d1 === l1, false); |
+ minitest.expect(d1 === b1, false); |
+ minitest.expect(s1 === d1, false); |
+ minitest.expect(s2 === d1, false); |
+ minitest.expect(i1 === d1, false); |
+ minitest.expect(i2 === d1, false); |
+ minitest.expect(l1 === d1, false); |
+ minitest.expect(b1 === d1, false); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ minitest.group('Null/undefined identity', dart.fn(() => { |
+ minitest.test('Identical object/other (static, null)', dart.fn(() => { |
+ let n = identity_test.hideNull(identity_test.BluesBrother)(null); |
+ let u1 = identity_test.getUndefined(core.String)(); |
+ let u2 = identity_test.getUndefined(core.int)(); |
+ let u3 = identity_test.getUndefined(core.bool)(); |
+ let u4 = identity_test.getUndefined(core.List)(); |
+ minitest.expect(n == n, true); |
+ minitest.expect(core.identical(n, u1), true); |
+ minitest.expect(core.identical(n, u2), true); |
+ minitest.expect(core.identical(n, u3), true); |
+ minitest.expect(n == u4, true); |
+ minitest.expect(core.identical(u1, n), true); |
+ minitest.expect(core.identical(u2, n), true); |
+ minitest.expect(core.identical(u3, n), true); |
+ minitest.expect(u4 == n, true); |
+ }, VoidToNull())); |
+ minitest.test('Identical String/other (static, null)', dart.fn(() => { |
+ let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
+ let n = identity_test.hideNull(core.String)(null); |
+ let u2 = identity_test.getUndefined(core.int)(); |
+ let u3 = identity_test.getUndefined(core.bool)(); |
+ let u4 = identity_test.getUndefined(core.List)(); |
+ minitest.expect(n == n, true); |
+ minitest.expect(core.identical(n, u1), true); |
+ minitest.expect(core.identical(n, u2), true); |
+ minitest.expect(core.identical(n, u3), true); |
+ minitest.expect(core.identical(n, u4), true); |
+ minitest.expect(core.identical(u1, n), true); |
+ minitest.expect(core.identical(u2, n), true); |
+ minitest.expect(core.identical(u3, n), true); |
+ minitest.expect(core.identical(u4, n), true); |
+ }, VoidToNull())); |
+ minitest.test('Identical int/other (static, null)', dart.fn(() => { |
+ let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
+ let u2 = identity_test.getUndefined(core.String)(); |
+ let n = identity_test.hideNull(core.int)(null); |
+ let u3 = identity_test.getUndefined(core.bool)(); |
+ let u4 = identity_test.getUndefined(core.List)(); |
+ minitest.expect(n == n, true); |
+ minitest.expect(core.identical(n, u1), true); |
+ minitest.expect(core.identical(n, u2), true); |
+ minitest.expect(core.identical(n, u3), true); |
+ minitest.expect(core.identical(n, u4), true); |
+ minitest.expect(core.identical(u1, n), true); |
+ minitest.expect(core.identical(u2, n), true); |
+ minitest.expect(core.identical(u3, n), true); |
+ minitest.expect(core.identical(u4, n), true); |
+ }, VoidToNull())); |
+ minitest.test('Identical bool/other (static, null)', dart.fn(() => { |
+ let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
+ let u2 = identity_test.getUndefined(core.String)(); |
+ let u3 = identity_test.getUndefined(core.int)(); |
+ let n = identity_test.hideNull(core.bool)(null); |
+ let u4 = identity_test.getUndefined(core.List)(); |
+ minitest.expect(n == n, true); |
+ minitest.expect(core.identical(n, u1), true); |
+ minitest.expect(core.identical(n, u2), true); |
+ minitest.expect(core.identical(n, u3), true); |
+ minitest.expect(core.identical(n, u4), true); |
+ minitest.expect(core.identical(u1, n), true); |
+ minitest.expect(core.identical(u2, n), true); |
+ minitest.expect(core.identical(u3, n), true); |
+ minitest.expect(core.identical(u4, n), true); |
+ }, VoidToNull())); |
+ minitest.test('Identical List/other (static, null)', dart.fn(() => { |
+ let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
+ let u2 = identity_test.getUndefined(core.String)(); |
+ let u3 = identity_test.getUndefined(core.int)(); |
+ let u4 = identity_test.getUndefined(core.bool)(); |
+ let n = identity_test.hideNull(core.List)(null); |
+ minitest.expect(n == n, true); |
+ minitest.expect(n == u1, true); |
+ minitest.expect(core.identical(n, u2), true); |
+ minitest.expect(core.identical(n, u3), true); |
+ minitest.expect(core.identical(n, u4), true); |
+ minitest.expect(u1 == n, true); |
+ minitest.expect(core.identical(u2, n), true); |
+ minitest.expect(core.identical(u3, n), true); |
+ minitest.expect(core.identical(u4, n), true); |
+ }, VoidToNull())); |
+ }, VoidToNull())); |
+ }; |
+ dart.fn(identity_test.main, VoidTodynamic()); |
+ dart.trackLibraries("identity_test", { |
+ "identity_test.dart": identity_test |
+ }, null); |
+ // Exports: |
+ return { |
+ identity_test: identity_test |
+ }; |
+}); |