| 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 _root = Object.create(null); | |
| const identity_test = Object.create(_root); | |
| const $_equals = dartx._equals; | |
| const $_get = dartx._get; | |
| 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.addTypeTests(identity_test.Music); | |
| dart.setFieldSignature(identity_test.Music, () => ({ | |
| __proto__: dart.getFields(identity_test.Music.__proto__), | |
| index: dart.finalFieldType(core.int) | |
| })); | |
| dart.defineExtensionMethods(identity_test.Music, ['toString']); | |
| identity_test.Music.country = dart.const(new identity_test.Music.new(0)); | |
| identity_test.Music.western = dart.const(new identity_test.Music.new(1)); | |
| identity_test.Music.values = dart.constList([identity_test.Music.country, identity_test.Music.western], identity_test.Music); | |
| identity_test.BluesBrother = class BluesBrother extends core.Object {}; | |
| (identity_test.BluesBrother.new = function() { | |
| }).prototype = identity_test.BluesBrother.prototype; | |
| dart.addTypeTests(identity_test.BluesBrother); | |
| identity_test._Jake = class _Jake extends identity_test.BluesBrother {}; | |
| (identity_test._Jake.new = function() { | |
| }).prototype = identity_test._Jake.prototype; | |
| dart.addTypeTests(identity_test._Jake); | |
| identity_test._Elwood = class _Elwood extends identity_test.BluesBrother { | |
| _equals(other) { | |
| if (other == null) return false; | |
| return identity_test._Elwood.is(other); | |
| } | |
| }; | |
| (identity_test._Elwood.new = function() { | |
| }).prototype = identity_test._Elwood.prototype; | |
| dart.addTypeTests(identity_test._Elwood); | |
| dart.setMethodSignature(identity_test._Elwood, () => ({ | |
| __proto__: dart.getMethods(identity_test._Elwood.__proto__), | |
| _equals: dart.fnType(core.bool, [core.Object]), | |
| [$_equals]: dart.fnType(core.bool, [core.Object]) | |
| })); | |
| dart.defineExtensionMethods(identity_test._Elwood, ['_equals']); | |
| identity_test._Norman = class _Norman extends identity_test.BluesBrother {}; | |
| (identity_test._Norman.new = function() { | |
| }).prototype = identity_test._Norman.prototype; | |
| dart.addTypeTests(identity_test._Norman); | |
| identity_test.hideNull = function(T, x) { | |
| return x; | |
| }; | |
| dart.fn(identity_test.hideNull, TToT()); | |
| identity_test.getUndefined = function(T) { | |
| return T._check(core.List.new(1)[$_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 | |
| }; | |
| }); |