OLD | NEW |
(Empty) | |
| 1 define(['dart_sdk', 'expect'], function(dart_sdk, expect) { |
| 2 'use strict'; |
| 3 const core = dart_sdk.core; |
| 4 const dart = dart_sdk.dart; |
| 5 const dartx = dart_sdk.dartx; |
| 6 const minitest = expect.minitest; |
| 7 const identity_test = Object.create(null); |
| 8 let TToT = () => (TToT = dart.constFn(dart.gFnType(T => [T, [T]])))(); |
| 9 let VoidToT = () => (VoidToT = dart.constFn(dart.gFnType(T => [T, []])))(); |
| 10 let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))
(); |
| 11 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynam
ic, [])))(); |
| 12 identity_test.Music = class Music extends core.Object { |
| 13 toString() { |
| 14 return { |
| 15 0: "Music.country", |
| 16 1: "Music.western" |
| 17 }[this.index]; |
| 18 } |
| 19 }; |
| 20 (identity_test.Music.new = function(x) { |
| 21 this.index = x; |
| 22 }).prototype = identity_test.Music.prototype; |
| 23 dart.setSignature(identity_test.Music, { |
| 24 fields: () => ({index: dart.finalFieldType(core.int)}) |
| 25 }); |
| 26 dart.defineEnumValues(identity_test.Music, [ |
| 27 'country', |
| 28 'western' |
| 29 ]); |
| 30 identity_test.BluesBrother = class BluesBrother extends core.Object {}; |
| 31 (identity_test.BluesBrother.new = function() { |
| 32 }).prototype = identity_test.BluesBrother.prototype; |
| 33 identity_test._Jake = class _Jake extends identity_test.BluesBrother {}; |
| 34 (identity_test._Jake.new = function() { |
| 35 }).prototype = identity_test._Jake.prototype; |
| 36 identity_test._Elwood = class _Elwood extends identity_test.BluesBrother { |
| 37 ['=='](other) { |
| 38 return identity_test._Elwood.is(other); |
| 39 } |
| 40 }; |
| 41 (identity_test._Elwood.new = function() { |
| 42 }).prototype = identity_test._Elwood.prototype; |
| 43 dart.setSignature(identity_test._Elwood, { |
| 44 methods: () => ({'==': dart.fnType(core.bool, [core.Object])}) |
| 45 }); |
| 46 identity_test._Norman = class _Norman extends identity_test.BluesBrother {}; |
| 47 (identity_test._Norman.new = function() { |
| 48 }).prototype = identity_test._Norman.prototype; |
| 49 identity_test.hideNull = function(T) { |
| 50 return x => { |
| 51 return x; |
| 52 }; |
| 53 }; |
| 54 dart.fn(identity_test.hideNull, TToT()); |
| 55 identity_test.getUndefined = function(T) { |
| 56 return () => { |
| 57 return T._check(core.List.new(1)[dartx._get](0)); |
| 58 }; |
| 59 }; |
| 60 dart.fn(identity_test.getUndefined, VoidToT()); |
| 61 identity_test.main = function() { |
| 62 minitest.group('Enum identity', dart.fn(() => { |
| 63 minitest.test('Identical enum/enum (nullable)', dart.fn(() => { |
| 64 let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.country); |
| 65 let e2 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.western); |
| 66 let d1 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.country); |
| 67 let d2 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.western); |
| 68 let o1 = identity_test.hideNull(core.Object)(identity_test.Music.country
); |
| 69 let o2 = identity_test.hideNull(core.Object)(identity_test.Music.western
); |
| 70 minitest.expect(e1 == e1, true); |
| 71 minitest.expect(core.identical(e1, d1), true); |
| 72 minitest.expect(core.identical(e1, o1), true); |
| 73 minitest.expect(e1 == e2, false); |
| 74 minitest.expect(core.identical(e1, o2), false); |
| 75 minitest.expect(core.identical(e1, d2), false); |
| 76 minitest.expect(e1 == e2, false); |
| 77 minitest.expect(core.identical(d1, e1), true); |
| 78 minitest.expect(core.identical(d1, d1), true); |
| 79 minitest.expect(core.identical(d1, o1), true); |
| 80 minitest.expect(core.identical(d1, e2), false); |
| 81 minitest.expect(core.identical(d1, d2), false); |
| 82 minitest.expect(core.identical(d1, o2), false); |
| 83 minitest.expect(core.identical(o1, e1), true); |
| 84 minitest.expect(core.identical(o1, d1), true); |
| 85 minitest.expect(core.identical(o1, o1), true); |
| 86 minitest.expect(core.identical(o1, e2), false); |
| 87 minitest.expect(core.identical(o1, d2), false); |
| 88 minitest.expect(core.identical(o1, o2), false); |
| 89 }, VoidToNull())); |
| 90 minitest.test('Identical enum/enum (non-null)', dart.fn(() => { |
| 91 let e1 = identity_test.Music.country; |
| 92 let e2 = identity_test.Music.western; |
| 93 let d1 = identity_test.Music.country; |
| 94 let d2 = identity_test.Music.western; |
| 95 let o1 = identity_test.Music.country; |
| 96 let o2 = identity_test.Music.western; |
| 97 minitest.expect(e1 === e1, true); |
| 98 minitest.expect(e1 === d1, true); |
| 99 minitest.expect(e1 === o1, true); |
| 100 minitest.expect(e1 === e2, false); |
| 101 minitest.expect(e1 === o2, false); |
| 102 minitest.expect(e1 === d2, false); |
| 103 minitest.expect(e1 === e2, false); |
| 104 minitest.expect(d1 === e1, true); |
| 105 minitest.expect(d1 === d1, true); |
| 106 minitest.expect(d1 === o1, true); |
| 107 minitest.expect(d1 === e2, false); |
| 108 minitest.expect(d1 === d2, false); |
| 109 minitest.expect(d1 === o2, false); |
| 110 minitest.expect(o1 === e1, true); |
| 111 minitest.expect(o1 === d1, true); |
| 112 minitest.expect(o1 === o1, true); |
| 113 minitest.expect(o1 === e2, false); |
| 114 minitest.expect(o1 === d2, false); |
| 115 minitest.expect(o1 === o2, false); |
| 116 }, VoidToNull())); |
| 117 minitest.test('Identical enum/other (static, nullable)', dart.fn(() => { |
| 118 let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.country); |
| 119 let s1 = identity_test.hideNull(core.String)("hello"); |
| 120 let s2 = identity_test.hideNull(core.String)(""); |
| 121 let i1 = identity_test.hideNull(core.int)(3); |
| 122 let i2 = identity_test.hideNull(core.int)(0); |
| 123 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 124 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 125 minitest.expect(core.identical(e1, s1), false); |
| 126 minitest.expect(core.identical(e1, s2), false); |
| 127 minitest.expect(core.identical(e1, i1), false); |
| 128 minitest.expect(core.identical(e1, i2), false); |
| 129 minitest.expect(e1 == l1, false); |
| 130 minitest.expect(e1 == b1, false); |
| 131 minitest.expect(core.identical(s1, e1), false); |
| 132 minitest.expect(core.identical(s2, e1), false); |
| 133 minitest.expect(core.identical(i1, e1), false); |
| 134 minitest.expect(core.identical(i2, e1), false); |
| 135 minitest.expect(l1 == e1, false); |
| 136 minitest.expect(b1 == e1, false); |
| 137 }, VoidToNull())); |
| 138 minitest.test('Identical enum/other (static, non-null)', dart.fn(() => { |
| 139 let e1 = identity_test.Music.country; |
| 140 let s1 = "hello"; |
| 141 let s2 = ""; |
| 142 let i1 = 3; |
| 143 let i2 = 0; |
| 144 let l1 = core.List.new(3); |
| 145 let b1 = new identity_test._Norman.new(); |
| 146 minitest.expect(e1 === s1, false); |
| 147 minitest.expect(e1 === s2, false); |
| 148 minitest.expect(e1 === i1, false); |
| 149 minitest.expect(e1 === i2, false); |
| 150 minitest.expect(e1 === l1, false); |
| 151 minitest.expect(e1 === b1, false); |
| 152 minitest.expect(s1 === e1, false); |
| 153 minitest.expect(s2 === e1, false); |
| 154 minitest.expect(i1 === e1, false); |
| 155 minitest.expect(i2 === e1, false); |
| 156 minitest.expect(l1 === e1, false); |
| 157 minitest.expect(b1 === e1, false); |
| 158 }, VoidToNull())); |
| 159 minitest.test('Identical enum/other (dynamic, nullable)', dart.fn(() => { |
| 160 let e1 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.country); |
| 161 let d1 = identity_test.hideNull(identity_test.Music)(identity_test.Music
.country); |
| 162 let s1 = identity_test.hideNull(core.String)("hello"); |
| 163 let s2 = identity_test.hideNull(core.String)(""); |
| 164 let i1 = identity_test.hideNull(core.int)(3); |
| 165 let i2 = identity_test.hideNull(core.int)(0); |
| 166 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 167 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 168 minitest.expect(core.identical(e1, s1), false); |
| 169 minitest.expect(core.identical(e1, s2), false); |
| 170 minitest.expect(core.identical(e1, i1), false); |
| 171 minitest.expect(core.identical(e1, i2), false); |
| 172 minitest.expect(core.identical(e1, l1), false); |
| 173 minitest.expect(core.identical(e1, b1), false); |
| 174 minitest.expect(core.identical(s1, e1), false); |
| 175 minitest.expect(core.identical(s2, e1), false); |
| 176 minitest.expect(core.identical(i1, e1), false); |
| 177 minitest.expect(core.identical(i2, e1), false); |
| 178 minitest.expect(core.identical(l1, e1), false); |
| 179 minitest.expect(core.identical(b1, e1), false); |
| 180 minitest.expect(core.identical(d1, s1), false); |
| 181 minitest.expect(core.identical(d1, s2), false); |
| 182 minitest.expect(core.identical(d1, i1), false); |
| 183 minitest.expect(core.identical(d1, i2), false); |
| 184 minitest.expect(core.identical(d1, l1), false); |
| 185 minitest.expect(core.identical(d1, b1), false); |
| 186 minitest.expect(core.identical(s1, d1), false); |
| 187 minitest.expect(core.identical(s2, d1), false); |
| 188 minitest.expect(core.identical(i1, d1), false); |
| 189 minitest.expect(core.identical(i2, d1), false); |
| 190 minitest.expect(core.identical(l1, d1), false); |
| 191 minitest.expect(core.identical(b1, d1), false); |
| 192 }, VoidToNull())); |
| 193 minitest.test('Identical enum/other (dynamic, non-null)', dart.fn(() => { |
| 194 let e1 = identity_test.Music.country; |
| 195 let d1 = identity_test.Music.country; |
| 196 let s1 = "hello"; |
| 197 let s2 = ""; |
| 198 let i1 = 3; |
| 199 let i2 = 0; |
| 200 let l1 = core.List.new(3); |
| 201 let b1 = new identity_test._Norman.new(); |
| 202 minitest.expect(e1 === s1, false); |
| 203 minitest.expect(e1 === s2, false); |
| 204 minitest.expect(e1 === i1, false); |
| 205 minitest.expect(e1 === i2, false); |
| 206 minitest.expect(e1 === l1, false); |
| 207 minitest.expect(e1 === b1, false); |
| 208 minitest.expect(s1 === e1, false); |
| 209 minitest.expect(s2 === e1, false); |
| 210 minitest.expect(i1 === e1, false); |
| 211 minitest.expect(i2 === e1, false); |
| 212 minitest.expect(l1 === e1, false); |
| 213 minitest.expect(b1 === e1, false); |
| 214 minitest.expect(d1 === s1, false); |
| 215 minitest.expect(d1 === s2, false); |
| 216 minitest.expect(d1 === i1, false); |
| 217 minitest.expect(d1 === i2, false); |
| 218 minitest.expect(d1 === l1, false); |
| 219 minitest.expect(d1 === b1, false); |
| 220 minitest.expect(s1 === d1, false); |
| 221 minitest.expect(s2 === d1, false); |
| 222 minitest.expect(i1 === d1, false); |
| 223 minitest.expect(i2 === d1, false); |
| 224 minitest.expect(l1 === d1, false); |
| 225 minitest.expect(b1 === d1, false); |
| 226 }, VoidToNull())); |
| 227 }, VoidToNull())); |
| 228 minitest.group('String identity', dart.fn(() => { |
| 229 minitest.test('Identical string/string (nullable)', dart.fn(() => { |
| 230 let e1 = identity_test.hideNull(core.String)("The"); |
| 231 let e2 = identity_test.hideNull(core.String)("Band"); |
| 232 let d1 = identity_test.hideNull(core.String)("The"); |
| 233 let d2 = identity_test.hideNull(core.String)("Band"); |
| 234 let o1 = identity_test.hideNull(core.Object)("The"); |
| 235 let o2 = identity_test.hideNull(core.Object)("Band"); |
| 236 minitest.expect(e1 == e1, true); |
| 237 minitest.expect(core.identical(e1, d1), true); |
| 238 minitest.expect(core.identical(e1, o1), true); |
| 239 minitest.expect(e1 == e2, false); |
| 240 minitest.expect(core.identical(e1, o2), false); |
| 241 minitest.expect(core.identical(e1, d2), false); |
| 242 minitest.expect(e1 == e2, false); |
| 243 minitest.expect(core.identical(d1, e1), true); |
| 244 minitest.expect(core.identical(d1, d1), true); |
| 245 minitest.expect(core.identical(d1, o1), true); |
| 246 minitest.expect(core.identical(d1, e2), false); |
| 247 minitest.expect(core.identical(d1, d2), false); |
| 248 minitest.expect(core.identical(d1, o2), false); |
| 249 minitest.expect(core.identical(o1, e1), true); |
| 250 minitest.expect(core.identical(o1, d1), true); |
| 251 minitest.expect(core.identical(o1, o1), true); |
| 252 minitest.expect(core.identical(o1, e2), false); |
| 253 minitest.expect(core.identical(o1, d2), false); |
| 254 minitest.expect(core.identical(o1, o2), false); |
| 255 }, VoidToNull())); |
| 256 minitest.test('Identical string/string (non-null)', dart.fn(() => { |
| 257 let e1 = "The"; |
| 258 let e2 = "Band"; |
| 259 let d1 = "The"; |
| 260 let d2 = "Band"; |
| 261 let o1 = "The"; |
| 262 let o2 = "Band"; |
| 263 minitest.expect(e1 === e1, true); |
| 264 minitest.expect(e1 === d1, true); |
| 265 minitest.expect(e1 === o1, true); |
| 266 minitest.expect(e1 === e2, false); |
| 267 minitest.expect(e1 === o2, false); |
| 268 minitest.expect(e1 === d2, false); |
| 269 minitest.expect(e1 === e2, false); |
| 270 minitest.expect(d1 === e1, true); |
| 271 minitest.expect(d1 === d1, true); |
| 272 minitest.expect(d1 === o1, true); |
| 273 minitest.expect(d1 === e2, false); |
| 274 minitest.expect(d1 === d2, false); |
| 275 minitest.expect(d1 === o2, false); |
| 276 minitest.expect(o1 === e1, true); |
| 277 minitest.expect(o1 === d1, true); |
| 278 minitest.expect(o1 === o1, true); |
| 279 minitest.expect(o1 === e2, false); |
| 280 minitest.expect(o1 === d2, false); |
| 281 minitest.expect(o1 === o2, false); |
| 282 }, VoidToNull())); |
| 283 minitest.test('Identical string/other (static, nullable)', dart.fn(() => { |
| 284 let e1 = identity_test.hideNull(core.String)("The"); |
| 285 let s1 = identity_test.hideNull(core.String)("hello"); |
| 286 let s2 = identity_test.hideNull(core.String)(""); |
| 287 let i1 = identity_test.hideNull(core.int)(3); |
| 288 let i2 = identity_test.hideNull(core.int)(0); |
| 289 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 290 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 291 minitest.expect(e1 == s1, false); |
| 292 minitest.expect(e1 == s2, false); |
| 293 minitest.expect(core.identical(e1, i1), false); |
| 294 minitest.expect(core.identical(e1, i2), false); |
| 295 minitest.expect(core.identical(e1, l1), false); |
| 296 minitest.expect(core.identical(e1, b1), false); |
| 297 minitest.expect(s1 == e1, false); |
| 298 minitest.expect(s2 == e1, false); |
| 299 minitest.expect(core.identical(i1, e1), false); |
| 300 minitest.expect(core.identical(i2, e1), false); |
| 301 minitest.expect(core.identical(l1, e1), false); |
| 302 minitest.expect(core.identical(b1, e1), false); |
| 303 }, VoidToNull())); |
| 304 minitest.test('Identical string/other (static, non-null)', dart.fn(() => { |
| 305 let e1 = "The"; |
| 306 let s1 = "hello"; |
| 307 let s2 = ""; |
| 308 let i1 = 3; |
| 309 let i2 = 0; |
| 310 let l1 = core.List.new(3); |
| 311 let b1 = new identity_test._Norman.new(); |
| 312 minitest.expect(e1 === s1, false); |
| 313 minitest.expect(e1 === s2, false); |
| 314 minitest.expect(e1 === i1, false); |
| 315 minitest.expect(e1 === i2, false); |
| 316 minitest.expect(e1 === l1, false); |
| 317 minitest.expect(e1 === b1, false); |
| 318 minitest.expect(s1 === e1, false); |
| 319 minitest.expect(s2 === e1, false); |
| 320 minitest.expect(i1 === e1, false); |
| 321 minitest.expect(i2 === e1, false); |
| 322 minitest.expect(l1 === e1, false); |
| 323 minitest.expect(b1 === e1, false); |
| 324 }, VoidToNull())); |
| 325 minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() =>
{ |
| 326 let e1 = identity_test.hideNull(core.String)("The"); |
| 327 let d1 = identity_test.hideNull(core.String)("The"); |
| 328 let s1 = identity_test.hideNull(core.String)("hello"); |
| 329 let s2 = identity_test.hideNull(core.String)(""); |
| 330 let i1 = identity_test.hideNull(core.int)(3); |
| 331 let i2 = identity_test.hideNull(core.int)(0); |
| 332 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 333 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 334 minitest.expect(core.identical(e1, s1), false); |
| 335 minitest.expect(core.identical(e1, s2), false); |
| 336 minitest.expect(core.identical(e1, i1), false); |
| 337 minitest.expect(core.identical(e1, i2), false); |
| 338 minitest.expect(core.identical(e1, l1), false); |
| 339 minitest.expect(core.identical(e1, b1), false); |
| 340 minitest.expect(core.identical(s1, e1), false); |
| 341 minitest.expect(core.identical(s2, e1), false); |
| 342 minitest.expect(core.identical(i1, e1), false); |
| 343 minitest.expect(core.identical(i2, e1), false); |
| 344 minitest.expect(core.identical(l1, e1), false); |
| 345 minitest.expect(core.identical(b1, e1), false); |
| 346 minitest.expect(core.identical(d1, s1), false); |
| 347 minitest.expect(core.identical(d1, s2), false); |
| 348 minitest.expect(core.identical(d1, i1), false); |
| 349 minitest.expect(core.identical(d1, i2), false); |
| 350 minitest.expect(core.identical(d1, l1), false); |
| 351 minitest.expect(core.identical(d1, b1), false); |
| 352 minitest.expect(core.identical(s1, d1), false); |
| 353 minitest.expect(core.identical(s2, d1), false); |
| 354 minitest.expect(core.identical(i1, d1), false); |
| 355 minitest.expect(core.identical(i2, d1), false); |
| 356 minitest.expect(core.identical(l1, d1), false); |
| 357 minitest.expect(core.identical(b1, d1), false); |
| 358 }, VoidToNull())); |
| 359 minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() =>
{ |
| 360 let e1 = "The"; |
| 361 let d1 = "The"; |
| 362 let s1 = "hello"; |
| 363 let s2 = ""; |
| 364 let i1 = 3; |
| 365 let i2 = 0; |
| 366 let l1 = core.List.new(3); |
| 367 let b1 = new identity_test._Norman.new(); |
| 368 minitest.expect(e1 === s1, false); |
| 369 minitest.expect(e1 === s2, false); |
| 370 minitest.expect(e1 === i1, false); |
| 371 minitest.expect(e1 === i2, false); |
| 372 minitest.expect(e1 === l1, false); |
| 373 minitest.expect(e1 === b1, false); |
| 374 minitest.expect(s1 === e1, false); |
| 375 minitest.expect(s2 === e1, false); |
| 376 minitest.expect(i1 === e1, false); |
| 377 minitest.expect(i2 === e1, false); |
| 378 minitest.expect(l1 === e1, false); |
| 379 minitest.expect(b1 === e1, false); |
| 380 minitest.expect(d1 === s1, false); |
| 381 minitest.expect(d1 === s2, false); |
| 382 minitest.expect(d1 === i1, false); |
| 383 minitest.expect(d1 === i2, false); |
| 384 minitest.expect(d1 === l1, false); |
| 385 minitest.expect(d1 === b1, false); |
| 386 minitest.expect(s1 === d1, false); |
| 387 minitest.expect(s2 === d1, false); |
| 388 minitest.expect(i1 === d1, false); |
| 389 minitest.expect(i2 === d1, false); |
| 390 minitest.expect(l1 === d1, false); |
| 391 minitest.expect(b1 === d1, false); |
| 392 }, VoidToNull())); |
| 393 }, VoidToNull())); |
| 394 minitest.group('Boolean identity', dart.fn(() => { |
| 395 minitest.test('Identical bool/bool (nullable)', dart.fn(() => { |
| 396 let e1 = identity_test.hideNull(core.bool)(true); |
| 397 let e2 = identity_test.hideNull(core.bool)(false); |
| 398 let d1 = identity_test.hideNull(core.bool)(true); |
| 399 let d2 = identity_test.hideNull(core.bool)(false); |
| 400 let o1 = identity_test.hideNull(core.Object)(true); |
| 401 let o2 = identity_test.hideNull(core.Object)(false); |
| 402 minitest.expect(e1 == e1, true); |
| 403 minitest.expect(core.identical(e1, d1), true); |
| 404 minitest.expect(core.identical(e1, o1), true); |
| 405 minitest.expect(e1 == e2, false); |
| 406 minitest.expect(core.identical(e1, o2), false); |
| 407 minitest.expect(core.identical(e1, d2), false); |
| 408 minitest.expect(e1 == e2, false); |
| 409 minitest.expect(core.identical(d1, e1), true); |
| 410 minitest.expect(core.identical(d1, d1), true); |
| 411 minitest.expect(core.identical(d1, o1), true); |
| 412 minitest.expect(core.identical(d1, e2), false); |
| 413 minitest.expect(core.identical(d1, d2), false); |
| 414 minitest.expect(core.identical(d1, o2), false); |
| 415 minitest.expect(core.identical(o1, e1), true); |
| 416 minitest.expect(core.identical(o1, d1), true); |
| 417 minitest.expect(core.identical(o1, o1), true); |
| 418 minitest.expect(core.identical(o1, e2), false); |
| 419 minitest.expect(core.identical(o1, d2), false); |
| 420 minitest.expect(core.identical(o1, o2), false); |
| 421 }, VoidToNull())); |
| 422 minitest.test('Identical bool/bool (non-null)', dart.fn(() => { |
| 423 let e1 = true; |
| 424 let e2 = false; |
| 425 let d1 = true; |
| 426 let d2 = false; |
| 427 let o1 = true; |
| 428 let o2 = false; |
| 429 minitest.expect(e1 === e1, true); |
| 430 minitest.expect(e1 === d1, true); |
| 431 minitest.expect(e1 === o1, true); |
| 432 minitest.expect(e1 === e2, false); |
| 433 minitest.expect(e1 === o2, false); |
| 434 minitest.expect(e1 === d2, false); |
| 435 minitest.expect(e1 === e2, false); |
| 436 minitest.expect(d1 === e1, true); |
| 437 minitest.expect(d1 === d1, true); |
| 438 minitest.expect(d1 === o1, true); |
| 439 minitest.expect(d1 === e2, false); |
| 440 minitest.expect(d1 === d2, false); |
| 441 minitest.expect(d1 === o2, false); |
| 442 minitest.expect(o1 === e1, true); |
| 443 minitest.expect(o1 === d1, true); |
| 444 minitest.expect(o1 === o1, true); |
| 445 minitest.expect(o1 === e2, false); |
| 446 minitest.expect(o1 === d2, false); |
| 447 minitest.expect(o1 === o2, false); |
| 448 }, VoidToNull())); |
| 449 minitest.test('Identical bool/other (static, nullable)', dart.fn(() => { |
| 450 let e1 = identity_test.hideNull(core.bool)(true); |
| 451 let s1 = identity_test.hideNull(core.String)("hello"); |
| 452 let s2 = identity_test.hideNull(core.String)(""); |
| 453 let i1 = identity_test.hideNull(core.int)(3); |
| 454 let i2 = identity_test.hideNull(core.int)(0); |
| 455 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 456 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 457 minitest.expect(core.identical(e1, s1), false); |
| 458 minitest.expect(core.identical(e1, s2), false); |
| 459 minitest.expect(core.identical(e1, i1), false); |
| 460 minitest.expect(core.identical(e1, i2), false); |
| 461 minitest.expect(core.identical(e1, l1), false); |
| 462 minitest.expect(core.identical(e1, b1), false); |
| 463 minitest.expect(core.identical(s1, e1), false); |
| 464 minitest.expect(core.identical(s2, e1), false); |
| 465 minitest.expect(core.identical(i1, e1), false); |
| 466 minitest.expect(core.identical(i2, e1), false); |
| 467 minitest.expect(core.identical(l1, e1), false); |
| 468 minitest.expect(core.identical(b1, e1), false); |
| 469 }, VoidToNull())); |
| 470 minitest.test('Identical bool/other (static, non-null)', dart.fn(() => { |
| 471 let e1 = true; |
| 472 let s1 = "hello"; |
| 473 let s2 = ""; |
| 474 let i1 = 3; |
| 475 let i2 = 0; |
| 476 let l1 = core.List.new(3); |
| 477 let b1 = new identity_test._Norman.new(); |
| 478 minitest.expect(e1 === s1, false); |
| 479 minitest.expect(e1 === s2, false); |
| 480 minitest.expect(e1 === i1, false); |
| 481 minitest.expect(e1 === i2, false); |
| 482 minitest.expect(e1 === l1, false); |
| 483 minitest.expect(e1 === b1, false); |
| 484 minitest.expect(s1 === e1, false); |
| 485 minitest.expect(s2 === e1, false); |
| 486 minitest.expect(i1 === e1, false); |
| 487 minitest.expect(i2 === e1, false); |
| 488 minitest.expect(l1 === e1, false); |
| 489 minitest.expect(b1 === e1, false); |
| 490 }, VoidToNull())); |
| 491 minitest.test('Identical bool/other (dynamic, nullable)', dart.fn(() => { |
| 492 let e1 = identity_test.hideNull(core.bool)(true); |
| 493 let d1 = identity_test.hideNull(core.bool)(true); |
| 494 let s1 = identity_test.hideNull(core.String)("hello"); |
| 495 let s2 = identity_test.hideNull(core.String)(""); |
| 496 let i1 = identity_test.hideNull(core.int)(3); |
| 497 let i2 = identity_test.hideNull(core.int)(0); |
| 498 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 499 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 500 minitest.expect(core.identical(e1, s1), false); |
| 501 minitest.expect(core.identical(e1, s2), false); |
| 502 minitest.expect(core.identical(e1, i1), false); |
| 503 minitest.expect(core.identical(e1, i2), false); |
| 504 minitest.expect(core.identical(e1, l1), false); |
| 505 minitest.expect(core.identical(e1, b1), false); |
| 506 minitest.expect(core.identical(s1, e1), false); |
| 507 minitest.expect(core.identical(s2, e1), false); |
| 508 minitest.expect(core.identical(i1, e1), false); |
| 509 minitest.expect(core.identical(i2, e1), false); |
| 510 minitest.expect(core.identical(l1, e1), false); |
| 511 minitest.expect(core.identical(b1, e1), false); |
| 512 minitest.expect(core.identical(d1, s1), false); |
| 513 minitest.expect(core.identical(d1, s2), false); |
| 514 minitest.expect(core.identical(d1, i1), false); |
| 515 minitest.expect(core.identical(d1, i2), false); |
| 516 minitest.expect(core.identical(d1, l1), false); |
| 517 minitest.expect(core.identical(d1, b1), false); |
| 518 minitest.expect(core.identical(s1, d1), false); |
| 519 minitest.expect(core.identical(s2, d1), false); |
| 520 minitest.expect(core.identical(i1, d1), false); |
| 521 minitest.expect(core.identical(i2, d1), false); |
| 522 minitest.expect(core.identical(l1, d1), false); |
| 523 minitest.expect(core.identical(b1, d1), false); |
| 524 }, VoidToNull())); |
| 525 minitest.test('Identical bool/other (dynamic, non-null)', dart.fn(() => { |
| 526 let e1 = true; |
| 527 let d1 = true; |
| 528 let s1 = "hello"; |
| 529 let s2 = ""; |
| 530 let i1 = 3; |
| 531 let i2 = 0; |
| 532 let l1 = core.List.new(3); |
| 533 let b1 = new identity_test._Norman.new(); |
| 534 minitest.expect(e1 === s1, false); |
| 535 minitest.expect(e1 === s2, false); |
| 536 minitest.expect(e1 === i1, false); |
| 537 minitest.expect(e1 === i2, false); |
| 538 minitest.expect(e1 === l1, false); |
| 539 minitest.expect(e1 === b1, false); |
| 540 minitest.expect(s1 === e1, false); |
| 541 minitest.expect(s2 === e1, false); |
| 542 minitest.expect(i1 === e1, false); |
| 543 minitest.expect(i2 === e1, false); |
| 544 minitest.expect(l1 === e1, false); |
| 545 minitest.expect(b1 === e1, false); |
| 546 minitest.expect(d1 === s1, false); |
| 547 minitest.expect(d1 === s2, false); |
| 548 minitest.expect(d1 === i1, false); |
| 549 minitest.expect(d1 === i2, false); |
| 550 minitest.expect(d1 === l1, false); |
| 551 minitest.expect(d1 === b1, false); |
| 552 minitest.expect(s1 === d1, false); |
| 553 minitest.expect(s2 === d1, false); |
| 554 minitest.expect(i1 === d1, false); |
| 555 minitest.expect(i2 === d1, false); |
| 556 minitest.expect(l1 === d1, false); |
| 557 minitest.expect(b1 === d1, false); |
| 558 }, VoidToNull())); |
| 559 }, VoidToNull())); |
| 560 minitest.group('String identity', dart.fn(() => { |
| 561 minitest.test('Identical string/string (nullable)', dart.fn(() => { |
| 562 let e1 = identity_test.hideNull(core.String)("The"); |
| 563 let e2 = identity_test.hideNull(core.String)("Band"); |
| 564 let d1 = identity_test.hideNull(core.String)("The"); |
| 565 let d2 = identity_test.hideNull(core.String)("Band"); |
| 566 let o1 = identity_test.hideNull(core.Object)("The"); |
| 567 let o2 = identity_test.hideNull(core.Object)("Band"); |
| 568 minitest.expect(e1 == e1, true); |
| 569 minitest.expect(core.identical(e1, d1), true); |
| 570 minitest.expect(core.identical(e1, o1), true); |
| 571 minitest.expect(e1 == e2, false); |
| 572 minitest.expect(core.identical(e1, o2), false); |
| 573 minitest.expect(core.identical(e1, d2), false); |
| 574 minitest.expect(e1 == e2, false); |
| 575 minitest.expect(core.identical(d1, e1), true); |
| 576 minitest.expect(core.identical(d1, d1), true); |
| 577 minitest.expect(core.identical(d1, o1), true); |
| 578 minitest.expect(core.identical(d1, e2), false); |
| 579 minitest.expect(core.identical(d1, d2), false); |
| 580 minitest.expect(core.identical(d1, o2), false); |
| 581 minitest.expect(core.identical(o1, e1), true); |
| 582 minitest.expect(core.identical(o1, d1), true); |
| 583 minitest.expect(core.identical(o1, o1), true); |
| 584 minitest.expect(core.identical(o1, e2), false); |
| 585 minitest.expect(core.identical(o1, d2), false); |
| 586 minitest.expect(core.identical(o1, o2), false); |
| 587 }, VoidToNull())); |
| 588 minitest.test('Identical string/string (non-null)', dart.fn(() => { |
| 589 let e1 = "The"; |
| 590 let e2 = "Band"; |
| 591 let d1 = "The"; |
| 592 let d2 = "Band"; |
| 593 let o1 = "The"; |
| 594 let o2 = "Band"; |
| 595 minitest.expect(e1 === e1, true); |
| 596 minitest.expect(e1 === d1, true); |
| 597 minitest.expect(e1 === o1, true); |
| 598 minitest.expect(e1 === e2, false); |
| 599 minitest.expect(e1 === o2, false); |
| 600 minitest.expect(e1 === d2, false); |
| 601 minitest.expect(e1 === e2, false); |
| 602 minitest.expect(d1 === e1, true); |
| 603 minitest.expect(d1 === d1, true); |
| 604 minitest.expect(d1 === o1, true); |
| 605 minitest.expect(d1 === e2, false); |
| 606 minitest.expect(d1 === d2, false); |
| 607 minitest.expect(d1 === o2, false); |
| 608 minitest.expect(o1 === e1, true); |
| 609 minitest.expect(o1 === d1, true); |
| 610 minitest.expect(o1 === o1, true); |
| 611 minitest.expect(o1 === e2, false); |
| 612 minitest.expect(o1 === d2, false); |
| 613 minitest.expect(o1 === o2, false); |
| 614 }, VoidToNull())); |
| 615 minitest.test('Identical string/other (static, nullable)', dart.fn(() => { |
| 616 let e1 = identity_test.hideNull(core.String)("The"); |
| 617 let s1 = identity_test.hideNull(core.String)("hello"); |
| 618 let s2 = identity_test.hideNull(core.String)(""); |
| 619 let i1 = identity_test.hideNull(core.int)(3); |
| 620 let i2 = identity_test.hideNull(core.int)(0); |
| 621 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 622 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 623 minitest.expect(e1 == s1, false); |
| 624 minitest.expect(e1 == s2, false); |
| 625 minitest.expect(core.identical(e1, i1), false); |
| 626 minitest.expect(core.identical(e1, i2), false); |
| 627 minitest.expect(core.identical(e1, l1), false); |
| 628 minitest.expect(core.identical(e1, b1), false); |
| 629 minitest.expect(s1 == e1, false); |
| 630 minitest.expect(s2 == e1, false); |
| 631 minitest.expect(core.identical(i1, e1), false); |
| 632 minitest.expect(core.identical(i2, e1), false); |
| 633 minitest.expect(core.identical(l1, e1), false); |
| 634 minitest.expect(core.identical(b1, e1), false); |
| 635 }, VoidToNull())); |
| 636 minitest.test('Identical string/other (static, non-null)', dart.fn(() => { |
| 637 let e1 = "The"; |
| 638 let s1 = "hello"; |
| 639 let s2 = ""; |
| 640 let i1 = 3; |
| 641 let i2 = 0; |
| 642 let l1 = core.List.new(3); |
| 643 let b1 = new identity_test._Norman.new(); |
| 644 minitest.expect(e1 === s1, false); |
| 645 minitest.expect(e1 === s2, false); |
| 646 minitest.expect(e1 === i1, false); |
| 647 minitest.expect(e1 === i2, false); |
| 648 minitest.expect(e1 === l1, false); |
| 649 minitest.expect(e1 === b1, false); |
| 650 minitest.expect(s1 === e1, false); |
| 651 minitest.expect(s2 === e1, false); |
| 652 minitest.expect(i1 === e1, false); |
| 653 minitest.expect(i2 === e1, false); |
| 654 minitest.expect(l1 === e1, false); |
| 655 minitest.expect(b1 === e1, false); |
| 656 }, VoidToNull())); |
| 657 minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() =>
{ |
| 658 let e1 = identity_test.hideNull(core.String)("The"); |
| 659 let d1 = identity_test.hideNull(core.String)("The"); |
| 660 let s1 = identity_test.hideNull(core.String)("hello"); |
| 661 let s2 = identity_test.hideNull(core.String)(""); |
| 662 let i1 = identity_test.hideNull(core.int)(3); |
| 663 let i2 = identity_test.hideNull(core.int)(0); |
| 664 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 665 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 666 minitest.expect(core.identical(e1, s1), false); |
| 667 minitest.expect(core.identical(e1, s2), false); |
| 668 minitest.expect(core.identical(e1, i1), false); |
| 669 minitest.expect(core.identical(e1, i2), false); |
| 670 minitest.expect(core.identical(e1, l1), false); |
| 671 minitest.expect(core.identical(e1, b1), false); |
| 672 minitest.expect(core.identical(s1, e1), false); |
| 673 minitest.expect(core.identical(s2, e1), false); |
| 674 minitest.expect(core.identical(i1, e1), false); |
| 675 minitest.expect(core.identical(i2, e1), false); |
| 676 minitest.expect(core.identical(l1, e1), false); |
| 677 minitest.expect(core.identical(b1, e1), false); |
| 678 minitest.expect(core.identical(d1, s1), false); |
| 679 minitest.expect(core.identical(d1, s2), false); |
| 680 minitest.expect(core.identical(d1, i1), false); |
| 681 minitest.expect(core.identical(d1, i2), false); |
| 682 minitest.expect(core.identical(d1, l1), false); |
| 683 minitest.expect(core.identical(d1, b1), false); |
| 684 minitest.expect(core.identical(s1, d1), false); |
| 685 minitest.expect(core.identical(s2, d1), false); |
| 686 minitest.expect(core.identical(i1, d1), false); |
| 687 minitest.expect(core.identical(i2, d1), false); |
| 688 minitest.expect(core.identical(l1, d1), false); |
| 689 minitest.expect(core.identical(b1, d1), false); |
| 690 }, VoidToNull())); |
| 691 minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() =>
{ |
| 692 let e1 = "The"; |
| 693 let d1 = "The"; |
| 694 let s1 = "hello"; |
| 695 let s2 = ""; |
| 696 let i1 = 3; |
| 697 let i2 = 0; |
| 698 let l1 = core.List.new(3); |
| 699 let b1 = new identity_test._Norman.new(); |
| 700 minitest.expect(e1 === s1, false); |
| 701 minitest.expect(e1 === s2, false); |
| 702 minitest.expect(e1 === i1, false); |
| 703 minitest.expect(e1 === i2, false); |
| 704 minitest.expect(e1 === l1, false); |
| 705 minitest.expect(e1 === b1, false); |
| 706 minitest.expect(s1 === e1, false); |
| 707 minitest.expect(s2 === e1, false); |
| 708 minitest.expect(i1 === e1, false); |
| 709 minitest.expect(i2 === e1, false); |
| 710 minitest.expect(l1 === e1, false); |
| 711 minitest.expect(b1 === e1, false); |
| 712 minitest.expect(d1 === s1, false); |
| 713 minitest.expect(d1 === s2, false); |
| 714 minitest.expect(d1 === i1, false); |
| 715 minitest.expect(d1 === i2, false); |
| 716 minitest.expect(d1 === l1, false); |
| 717 minitest.expect(d1 === b1, false); |
| 718 minitest.expect(s1 === d1, false); |
| 719 minitest.expect(s2 === d1, false); |
| 720 minitest.expect(i1 === d1, false); |
| 721 minitest.expect(i2 === d1, false); |
| 722 minitest.expect(l1 === d1, false); |
| 723 minitest.expect(b1 === d1, false); |
| 724 }, VoidToNull())); |
| 725 }, VoidToNull())); |
| 726 minitest.group('Number identity', dart.fn(() => { |
| 727 minitest.test('Identical int/int (nullable)', dart.fn(() => { |
| 728 let e1 = identity_test.hideNull(core.int)(11); |
| 729 let e2 = identity_test.hideNull(core.int)(12); |
| 730 let d1 = identity_test.hideNull(core.int)(11); |
| 731 let d2 = identity_test.hideNull(core.int)(12); |
| 732 let o1 = identity_test.hideNull(core.Object)(11); |
| 733 let o2 = identity_test.hideNull(core.Object)(12); |
| 734 minitest.expect(e1 == e1, true); |
| 735 minitest.expect(core.identical(e1, d1), true); |
| 736 minitest.expect(core.identical(e1, o1), true); |
| 737 minitest.expect(e1 == e2, false); |
| 738 minitest.expect(core.identical(e1, o2), false); |
| 739 minitest.expect(core.identical(e1, d2), false); |
| 740 minitest.expect(e1 == e2, false); |
| 741 minitest.expect(core.identical(d1, e1), true); |
| 742 minitest.expect(core.identical(d1, d1), true); |
| 743 minitest.expect(core.identical(d1, o1), true); |
| 744 minitest.expect(core.identical(d1, e2), false); |
| 745 minitest.expect(core.identical(d1, d2), false); |
| 746 minitest.expect(core.identical(d1, o2), false); |
| 747 minitest.expect(core.identical(o1, e1), true); |
| 748 minitest.expect(core.identical(o1, d1), true); |
| 749 minitest.expect(core.identical(o1, o1), true); |
| 750 minitest.expect(core.identical(o1, e2), false); |
| 751 minitest.expect(core.identical(o1, d2), false); |
| 752 minitest.expect(core.identical(o1, o2), false); |
| 753 }, VoidToNull())); |
| 754 minitest.test('Identical int/int (non-null)', dart.fn(() => { |
| 755 let e1 = 11; |
| 756 let e2 = 12; |
| 757 let d1 = 11; |
| 758 let d2 = 12; |
| 759 let o1 = 11; |
| 760 let o2 = 12; |
| 761 minitest.expect(e1 === e1, true); |
| 762 minitest.expect(e1 === d1, true); |
| 763 minitest.expect(e1 === o1, true); |
| 764 minitest.expect(e1 === e2, false); |
| 765 minitest.expect(e1 === o2, false); |
| 766 minitest.expect(e1 === d2, false); |
| 767 minitest.expect(e1 === e2, false); |
| 768 minitest.expect(d1 === e1, true); |
| 769 minitest.expect(d1 === d1, true); |
| 770 minitest.expect(d1 === o1, true); |
| 771 minitest.expect(d1 === e2, false); |
| 772 minitest.expect(d1 === d2, false); |
| 773 minitest.expect(d1 === o2, false); |
| 774 minitest.expect(o1 === e1, true); |
| 775 minitest.expect(o1 === d1, true); |
| 776 minitest.expect(o1 === o1, true); |
| 777 minitest.expect(o1 === e2, false); |
| 778 minitest.expect(o1 === d2, false); |
| 779 minitest.expect(o1 === o2, false); |
| 780 }, VoidToNull())); |
| 781 minitest.test('Identical int/other (static, nullable)', dart.fn(() => { |
| 782 let e1 = identity_test.hideNull(core.int)(11); |
| 783 let s1 = identity_test.hideNull(core.String)("hello"); |
| 784 let s2 = identity_test.hideNull(core.String)(""); |
| 785 let i1 = identity_test.hideNull(core.int)(3); |
| 786 let i2 = identity_test.hideNull(core.int)(0); |
| 787 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 788 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 789 minitest.expect(core.identical(e1, s1), false); |
| 790 minitest.expect(core.identical(e1, s2), false); |
| 791 minitest.expect(e1 == i1, false); |
| 792 minitest.expect(e1 == i2, false); |
| 793 minitest.expect(core.identical(e1, l1), false); |
| 794 minitest.expect(core.identical(e1, b1), false); |
| 795 minitest.expect(core.identical(s1, e1), false); |
| 796 minitest.expect(core.identical(s2, e1), false); |
| 797 minitest.expect(i1 == e1, false); |
| 798 minitest.expect(i2 == e1, false); |
| 799 minitest.expect(core.identical(l1, e1), false); |
| 800 minitest.expect(core.identical(b1, e1), false); |
| 801 }, VoidToNull())); |
| 802 minitest.test('Identical int/other (static, non-null)', dart.fn(() => { |
| 803 let e1 = 11; |
| 804 let s1 = "hello"; |
| 805 let s2 = ""; |
| 806 let i1 = 3; |
| 807 let i2 = 0; |
| 808 let l1 = core.List.new(3); |
| 809 let b1 = new identity_test._Norman.new(); |
| 810 minitest.expect(e1 === s1, false); |
| 811 minitest.expect(e1 === s2, false); |
| 812 minitest.expect(e1 === i1, false); |
| 813 minitest.expect(e1 === i2, false); |
| 814 minitest.expect(e1 === l1, false); |
| 815 minitest.expect(e1 === b1, false); |
| 816 minitest.expect(s1 === e1, false); |
| 817 minitest.expect(s2 === e1, false); |
| 818 minitest.expect(i1 === e1, false); |
| 819 minitest.expect(i2 === e1, false); |
| 820 minitest.expect(l1 === e1, false); |
| 821 minitest.expect(b1 === e1, false); |
| 822 }, VoidToNull())); |
| 823 minitest.test('Identical int/other (dynamic, nullable)', dart.fn(() => { |
| 824 let e1 = identity_test.hideNull(core.int)(11); |
| 825 let d1 = identity_test.hideNull(core.int)(11); |
| 826 let s1 = identity_test.hideNull(core.String)("hello"); |
| 827 let s2 = identity_test.hideNull(core.String)(""); |
| 828 let i1 = identity_test.hideNull(core.int)(3); |
| 829 let i2 = identity_test.hideNull(core.int)(0); |
| 830 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 831 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 832 minitest.expect(core.identical(e1, s1), false); |
| 833 minitest.expect(core.identical(e1, s2), false); |
| 834 minitest.expect(core.identical(e1, i1), false); |
| 835 minitest.expect(core.identical(e1, i2), false); |
| 836 minitest.expect(core.identical(e1, l1), false); |
| 837 minitest.expect(core.identical(e1, b1), false); |
| 838 minitest.expect(core.identical(s1, e1), false); |
| 839 minitest.expect(core.identical(s2, e1), false); |
| 840 minitest.expect(core.identical(i1, e1), false); |
| 841 minitest.expect(core.identical(i2, e1), false); |
| 842 minitest.expect(core.identical(l1, e1), false); |
| 843 minitest.expect(core.identical(b1, e1), false); |
| 844 minitest.expect(core.identical(d1, s1), false); |
| 845 minitest.expect(core.identical(d1, s2), false); |
| 846 minitest.expect(core.identical(d1, i1), false); |
| 847 minitest.expect(core.identical(d1, i2), false); |
| 848 minitest.expect(core.identical(d1, l1), false); |
| 849 minitest.expect(core.identical(d1, b1), false); |
| 850 minitest.expect(core.identical(s1, d1), false); |
| 851 minitest.expect(core.identical(s2, d1), false); |
| 852 minitest.expect(core.identical(i1, d1), false); |
| 853 minitest.expect(core.identical(i2, d1), false); |
| 854 minitest.expect(core.identical(l1, d1), false); |
| 855 minitest.expect(core.identical(b1, d1), false); |
| 856 }, VoidToNull())); |
| 857 minitest.test('Identical int/other (dynamic, non-null)', dart.fn(() => { |
| 858 let e1 = 11; |
| 859 let d1 = 11; |
| 860 let s1 = "hello"; |
| 861 let s2 = ""; |
| 862 let i1 = 3; |
| 863 let i2 = 0; |
| 864 let l1 = core.List.new(3); |
| 865 let b1 = new identity_test._Norman.new(); |
| 866 minitest.expect(e1 === s1, false); |
| 867 minitest.expect(e1 === s2, false); |
| 868 minitest.expect(e1 === i1, false); |
| 869 minitest.expect(e1 === i2, false); |
| 870 minitest.expect(e1 === l1, false); |
| 871 minitest.expect(e1 === b1, false); |
| 872 minitest.expect(s1 === e1, false); |
| 873 minitest.expect(s2 === e1, false); |
| 874 minitest.expect(i1 === e1, false); |
| 875 minitest.expect(i2 === e1, false); |
| 876 minitest.expect(l1 === e1, false); |
| 877 minitest.expect(b1 === e1, false); |
| 878 minitest.expect(d1 === s1, false); |
| 879 minitest.expect(d1 === s2, false); |
| 880 minitest.expect(d1 === i1, false); |
| 881 minitest.expect(d1 === i2, false); |
| 882 minitest.expect(d1 === l1, false); |
| 883 minitest.expect(d1 === b1, false); |
| 884 minitest.expect(s1 === d1, false); |
| 885 minitest.expect(s2 === d1, false); |
| 886 minitest.expect(i1 === d1, false); |
| 887 minitest.expect(i2 === d1, false); |
| 888 minitest.expect(l1 === d1, false); |
| 889 minitest.expect(b1 === d1, false); |
| 890 }, VoidToNull())); |
| 891 }, VoidToNull())); |
| 892 minitest.group('Object identity', dart.fn(() => { |
| 893 minitest.test('Identical object/object (nullable)', dart.fn(() => { |
| 894 let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._
Jake.new()); |
| 895 let e2 = identity_test.hideNull(identity_test._Elwood)(new identity_test
._Elwood.new()); |
| 896 let d1 = identity_test.hideNull(identity_test._Jake)(e1); |
| 897 let d2 = identity_test.hideNull(identity_test._Elwood)(new identity_test
._Elwood.new()); |
| 898 let o1 = identity_test.hideNull(core.Object)(e1); |
| 899 let o2 = identity_test.hideNull(core.Object)(new identity_test._Elwood.n
ew()); |
| 900 minitest.expect(e1 == e1, true); |
| 901 minitest.expect(core.identical(e1, d1), true); |
| 902 minitest.expect(core.identical(e1, o1), true); |
| 903 minitest.expect(e1 == e2, false); |
| 904 minitest.expect(core.identical(e1, o2), false); |
| 905 minitest.expect(core.identical(e1, d2), false); |
| 906 minitest.expect(e1 == e2, false); |
| 907 minitest.expect(core.identical(d1, e1), true); |
| 908 minitest.expect(core.identical(d1, d1), true); |
| 909 minitest.expect(core.identical(d1, o1), true); |
| 910 minitest.expect(core.identical(d1, e2), false); |
| 911 minitest.expect(core.identical(d1, d2), false); |
| 912 minitest.expect(core.identical(d1, o2), false); |
| 913 minitest.expect(core.identical(o1, e1), true); |
| 914 minitest.expect(core.identical(o1, d1), true); |
| 915 minitest.expect(core.identical(o1, o1), true); |
| 916 minitest.expect(core.identical(o1, e2), false); |
| 917 minitest.expect(core.identical(o1, d2), false); |
| 918 minitest.expect(core.identical(o1, o2), false); |
| 919 }, VoidToNull())); |
| 920 minitest.test('Identical object/object (non-null)', dart.fn(() => { |
| 921 let e1 = new identity_test._Jake.new(); |
| 922 let e2 = new identity_test._Elwood.new(); |
| 923 let d1 = e1; |
| 924 let d2 = new identity_test._Elwood.new(); |
| 925 let o1 = e1; |
| 926 let o2 = new identity_test._Elwood.new(); |
| 927 minitest.expect(e1 === e1, true); |
| 928 minitest.expect(e1 === d1, true); |
| 929 minitest.expect(e1 === o1, true); |
| 930 minitest.expect(e1 === e2, false); |
| 931 minitest.expect(e1 === o2, false); |
| 932 minitest.expect(e1 === d2, false); |
| 933 minitest.expect(e1 === e2, false); |
| 934 minitest.expect(d1 === e1, true); |
| 935 minitest.expect(d1 === d1, true); |
| 936 minitest.expect(d1 === o1, true); |
| 937 minitest.expect(d1 === e2, false); |
| 938 minitest.expect(d1 === d2, false); |
| 939 minitest.expect(d1 === o2, false); |
| 940 minitest.expect(o1 === e1, true); |
| 941 minitest.expect(o1 === d1, true); |
| 942 minitest.expect(o1 === o1, true); |
| 943 minitest.expect(o1 === e2, false); |
| 944 minitest.expect(o1 === d2, false); |
| 945 minitest.expect(o1 === o2, false); |
| 946 }, VoidToNull())); |
| 947 minitest.test('Identical object/other (static, nullable)', dart.fn(() => { |
| 948 let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._
Jake.new()); |
| 949 let s1 = identity_test.hideNull(core.String)("hello"); |
| 950 let s2 = identity_test.hideNull(core.String)(""); |
| 951 let i1 = identity_test.hideNull(core.int)(3); |
| 952 let i2 = identity_test.hideNull(core.int)(0); |
| 953 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 954 let b1 = identity_test.hideNull(identity_test.BluesBrother)(new identity
_test._Norman.new()); |
| 955 minitest.expect(core.identical(e1, s1), false); |
| 956 minitest.expect(core.identical(e1, s2), false); |
| 957 minitest.expect(core.identical(e1, i1), false); |
| 958 minitest.expect(core.identical(e1, i2), false); |
| 959 minitest.expect(e1 == l1, false); |
| 960 minitest.expect(e1 == b1, false); |
| 961 minitest.expect(core.identical(s1, e1), false); |
| 962 minitest.expect(core.identical(s2, e1), false); |
| 963 minitest.expect(core.identical(i1, e1), false); |
| 964 minitest.expect(core.identical(i2, e1), false); |
| 965 minitest.expect(l1 == e1, false); |
| 966 minitest.expect(b1 == e1, false); |
| 967 }, VoidToNull())); |
| 968 minitest.test('Identical object/other (static, non-null)', dart.fn(() => { |
| 969 let e1 = new identity_test._Jake.new(); |
| 970 let s1 = "hello"; |
| 971 let s2 = ""; |
| 972 let i1 = 3; |
| 973 let i2 = 0; |
| 974 let l1 = core.List.new(3); |
| 975 let b1 = new identity_test._Norman.new(); |
| 976 minitest.expect(e1 === s1, false); |
| 977 minitest.expect(e1 === s2, false); |
| 978 minitest.expect(e1 === i1, false); |
| 979 minitest.expect(e1 === i2, false); |
| 980 minitest.expect(e1 === l1, false); |
| 981 minitest.expect(e1 === b1, false); |
| 982 minitest.expect(s1 === e1, false); |
| 983 minitest.expect(s2 === e1, false); |
| 984 minitest.expect(i1 === e1, false); |
| 985 minitest.expect(i2 === e1, false); |
| 986 minitest.expect(l1 === e1, false); |
| 987 minitest.expect(b1 === e1, false); |
| 988 }, VoidToNull())); |
| 989 minitest.test('Identical object/other (dynamic, nullable)', dart.fn(() =>
{ |
| 990 let e1 = identity_test.hideNull(identity_test._Jake)(new identity_test._
Jake.new()); |
| 991 let d1 = identity_test.hideNull(identity_test._Jake)(new identity_test._
Jake.new()); |
| 992 let s1 = identity_test.hideNull(core.String)("hello"); |
| 993 let s2 = identity_test.hideNull(core.String)(""); |
| 994 let i1 = identity_test.hideNull(core.int)(3); |
| 995 let i2 = identity_test.hideNull(core.int)(0); |
| 996 let l1 = identity_test.hideNull(core.List)(core.List.new(3)); |
| 997 let b1 = identity_test.hideNull(identity_test._Norman)(new identity_test
._Norman.new()); |
| 998 minitest.expect(core.identical(e1, s1), false); |
| 999 minitest.expect(core.identical(e1, s2), false); |
| 1000 minitest.expect(core.identical(e1, i1), false); |
| 1001 minitest.expect(core.identical(e1, i2), false); |
| 1002 minitest.expect(core.identical(e1, l1), false); |
| 1003 minitest.expect(core.identical(e1, b1), false); |
| 1004 minitest.expect(core.identical(s1, e1), false); |
| 1005 minitest.expect(core.identical(s2, e1), false); |
| 1006 minitest.expect(core.identical(i1, e1), false); |
| 1007 minitest.expect(core.identical(i2, e1), false); |
| 1008 minitest.expect(core.identical(l1, e1), false); |
| 1009 minitest.expect(core.identical(b1, e1), false); |
| 1010 minitest.expect(core.identical(d1, s1), false); |
| 1011 minitest.expect(core.identical(d1, s2), false); |
| 1012 minitest.expect(core.identical(d1, i1), false); |
| 1013 minitest.expect(core.identical(d1, i2), false); |
| 1014 minitest.expect(core.identical(d1, l1), false); |
| 1015 minitest.expect(core.identical(d1, b1), false); |
| 1016 minitest.expect(core.identical(s1, d1), false); |
| 1017 minitest.expect(core.identical(s2, d1), false); |
| 1018 minitest.expect(core.identical(i1, d1), false); |
| 1019 minitest.expect(core.identical(i2, d1), false); |
| 1020 minitest.expect(core.identical(l1, d1), false); |
| 1021 minitest.expect(core.identical(b1, d1), false); |
| 1022 }, VoidToNull())); |
| 1023 minitest.test('Identical object/other (dynamic, non-null)', dart.fn(() =>
{ |
| 1024 let e1 = new identity_test._Jake.new(); |
| 1025 let d1 = new identity_test._Jake.new(); |
| 1026 let s1 = "hello"; |
| 1027 let s2 = ""; |
| 1028 let i1 = 3; |
| 1029 let i2 = 0; |
| 1030 let l1 = core.List.new(3); |
| 1031 let b1 = new identity_test._Norman.new(); |
| 1032 minitest.expect(e1 === s1, false); |
| 1033 minitest.expect(e1 === s2, false); |
| 1034 minitest.expect(e1 === i1, false); |
| 1035 minitest.expect(e1 === i2, false); |
| 1036 minitest.expect(e1 === l1, false); |
| 1037 minitest.expect(e1 === b1, false); |
| 1038 minitest.expect(s1 === e1, false); |
| 1039 minitest.expect(s2 === e1, false); |
| 1040 minitest.expect(i1 === e1, false); |
| 1041 minitest.expect(i2 === e1, false); |
| 1042 minitest.expect(l1 === e1, false); |
| 1043 minitest.expect(b1 === e1, false); |
| 1044 minitest.expect(d1 === s1, false); |
| 1045 minitest.expect(d1 === s2, false); |
| 1046 minitest.expect(d1 === i1, false); |
| 1047 minitest.expect(d1 === i2, false); |
| 1048 minitest.expect(d1 === l1, false); |
| 1049 minitest.expect(d1 === b1, false); |
| 1050 minitest.expect(s1 === d1, false); |
| 1051 minitest.expect(s2 === d1, false); |
| 1052 minitest.expect(i1 === d1, false); |
| 1053 minitest.expect(i2 === d1, false); |
| 1054 minitest.expect(l1 === d1, false); |
| 1055 minitest.expect(b1 === d1, false); |
| 1056 }, VoidToNull())); |
| 1057 }, VoidToNull())); |
| 1058 minitest.group('Null/undefined identity', dart.fn(() => { |
| 1059 minitest.test('Identical object/other (static, null)', dart.fn(() => { |
| 1060 let n = identity_test.hideNull(identity_test.BluesBrother)(null); |
| 1061 let u1 = identity_test.getUndefined(core.String)(); |
| 1062 let u2 = identity_test.getUndefined(core.int)(); |
| 1063 let u3 = identity_test.getUndefined(core.bool)(); |
| 1064 let u4 = identity_test.getUndefined(core.List)(); |
| 1065 minitest.expect(n == n, true); |
| 1066 minitest.expect(core.identical(n, u1), true); |
| 1067 minitest.expect(core.identical(n, u2), true); |
| 1068 minitest.expect(core.identical(n, u3), true); |
| 1069 minitest.expect(n == u4, true); |
| 1070 minitest.expect(core.identical(u1, n), true); |
| 1071 minitest.expect(core.identical(u2, n), true); |
| 1072 minitest.expect(core.identical(u3, n), true); |
| 1073 minitest.expect(u4 == n, true); |
| 1074 }, VoidToNull())); |
| 1075 minitest.test('Identical String/other (static, null)', dart.fn(() => { |
| 1076 let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
| 1077 let n = identity_test.hideNull(core.String)(null); |
| 1078 let u2 = identity_test.getUndefined(core.int)(); |
| 1079 let u3 = identity_test.getUndefined(core.bool)(); |
| 1080 let u4 = identity_test.getUndefined(core.List)(); |
| 1081 minitest.expect(n == n, true); |
| 1082 minitest.expect(core.identical(n, u1), true); |
| 1083 minitest.expect(core.identical(n, u2), true); |
| 1084 minitest.expect(core.identical(n, u3), true); |
| 1085 minitest.expect(core.identical(n, u4), true); |
| 1086 minitest.expect(core.identical(u1, n), true); |
| 1087 minitest.expect(core.identical(u2, n), true); |
| 1088 minitest.expect(core.identical(u3, n), true); |
| 1089 minitest.expect(core.identical(u4, n), true); |
| 1090 }, VoidToNull())); |
| 1091 minitest.test('Identical int/other (static, null)', dart.fn(() => { |
| 1092 let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
| 1093 let u2 = identity_test.getUndefined(core.String)(); |
| 1094 let n = identity_test.hideNull(core.int)(null); |
| 1095 let u3 = identity_test.getUndefined(core.bool)(); |
| 1096 let u4 = identity_test.getUndefined(core.List)(); |
| 1097 minitest.expect(n == n, true); |
| 1098 minitest.expect(core.identical(n, u1), true); |
| 1099 minitest.expect(core.identical(n, u2), true); |
| 1100 minitest.expect(core.identical(n, u3), true); |
| 1101 minitest.expect(core.identical(n, u4), true); |
| 1102 minitest.expect(core.identical(u1, n), true); |
| 1103 minitest.expect(core.identical(u2, n), true); |
| 1104 minitest.expect(core.identical(u3, n), true); |
| 1105 minitest.expect(core.identical(u4, n), true); |
| 1106 }, VoidToNull())); |
| 1107 minitest.test('Identical bool/other (static, null)', dart.fn(() => { |
| 1108 let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
| 1109 let u2 = identity_test.getUndefined(core.String)(); |
| 1110 let u3 = identity_test.getUndefined(core.int)(); |
| 1111 let n = identity_test.hideNull(core.bool)(null); |
| 1112 let u4 = identity_test.getUndefined(core.List)(); |
| 1113 minitest.expect(n == n, true); |
| 1114 minitest.expect(core.identical(n, u1), true); |
| 1115 minitest.expect(core.identical(n, u2), true); |
| 1116 minitest.expect(core.identical(n, u3), true); |
| 1117 minitest.expect(core.identical(n, u4), true); |
| 1118 minitest.expect(core.identical(u1, n), true); |
| 1119 minitest.expect(core.identical(u2, n), true); |
| 1120 minitest.expect(core.identical(u3, n), true); |
| 1121 minitest.expect(core.identical(u4, n), true); |
| 1122 }, VoidToNull())); |
| 1123 minitest.test('Identical List/other (static, null)', dart.fn(() => { |
| 1124 let u1 = identity_test.getUndefined(identity_test.BluesBrother)(); |
| 1125 let u2 = identity_test.getUndefined(core.String)(); |
| 1126 let u3 = identity_test.getUndefined(core.int)(); |
| 1127 let u4 = identity_test.getUndefined(core.bool)(); |
| 1128 let n = identity_test.hideNull(core.List)(null); |
| 1129 minitest.expect(n == n, true); |
| 1130 minitest.expect(n == u1, true); |
| 1131 minitest.expect(core.identical(n, u2), true); |
| 1132 minitest.expect(core.identical(n, u3), true); |
| 1133 minitest.expect(core.identical(n, u4), true); |
| 1134 minitest.expect(u1 == n, true); |
| 1135 minitest.expect(core.identical(u2, n), true); |
| 1136 minitest.expect(core.identical(u3, n), true); |
| 1137 minitest.expect(core.identical(u4, n), true); |
| 1138 }, VoidToNull())); |
| 1139 }, VoidToNull())); |
| 1140 }; |
| 1141 dart.fn(identity_test.main, VoidTodynamic()); |
| 1142 dart.trackLibraries("identity_test", { |
| 1143 "identity_test.dart": identity_test |
| 1144 }, null); |
| 1145 // Exports: |
| 1146 return { |
| 1147 identity_test: identity_test |
| 1148 }; |
| 1149 }); |
OLD | NEW |