| Index: tests/language/null_is_bottom_test.dart
|
| diff --git a/tests/language/null_is_bottom_test.dart b/tests/language/null_is_bottom_test.dart
|
| deleted file mode 100644
|
| index 7b0f2f8b1d098e68d14406106030a356cb06382b..0000000000000000000000000000000000000000
|
| --- a/tests/language/null_is_bottom_test.dart
|
| +++ /dev/null
|
| @@ -1,142 +0,0 @@
|
| -// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -// Test that Null is a subtype of any other type.
|
| -
|
| -import 'package:expect/expect.dart';
|
| -
|
| -class A {}
|
| -typedef A ReturnA();
|
| -typedef TakeA(A a);
|
| -typedef Null ReturnNull();
|
| -typedef TakeNull(Null n);
|
| -
|
| -@NoInline()
|
| -testA(A testAsListA) {}
|
| -
|
| -@NoInline()
|
| -testListA(List<A> list) {}
|
| -
|
| -@NoInline()
|
| -testIsListA(var a) => a is List<A>;
|
| -
|
| -@NoInline()
|
| -testAsListA(var a) => a as List<A>;
|
| -
|
| -@NoInline()
|
| -testNull(Null n) {}
|
| -
|
| -@NoInline()
|
| -testListNull(List<Null> list) {}
|
| -
|
| -@NoInline()
|
| -testIsListNull(var a) => a is List<Null>;
|
| -
|
| -@NoInline()
|
| -testAsListNull(var a) => a as List<Null>;
|
| -
|
| -@NoInline()
|
| -testReturnA(ReturnA f) {}
|
| -
|
| -@NoInline()
|
| -testIsReturnA(var f) => f is ReturnA;
|
| -
|
| -@NoInline()
|
| -testAsReturnA(var f) => f as ReturnA;
|
| -
|
| -@NoInline()
|
| -testReturnNull(ReturnNull f) {}
|
| -
|
| -@NoInline()
|
| -testIsReturnNull(var f) => f is ReturnNull;
|
| -
|
| -@NoInline()
|
| -testAsReturnNull(var f) => f as ReturnNull;
|
| -
|
| -@NoInline()
|
| -testTakeA(TakeA f) {}
|
| -
|
| -@NoInline()
|
| -testIsTakeA(var f) => f is TakeA;
|
| -
|
| -@NoInline()
|
| -testAsTakeA(var f) => f as TakeA;
|
| -
|
| -@NoInline()
|
| -testTakeNull(TakeNull f) {}
|
| -
|
| -@NoInline()
|
| -testIsTakeNull(var f) => f is TakeNull;
|
| -
|
| -@NoInline()
|
| -testAsTakeNull(var f) => f as TakeNull;
|
| -
|
| -Null returnNullFunc() => null;
|
| -takeNullFunc(Null n) {}
|
| -A returnAFunc() => null;
|
| -takeAFunc(A a) {}
|
| -
|
| -main() {
|
| - var n = null;
|
| - var listNull = new List<Null>();
|
| - var a = new A();
|
| - var listA = new List<A>();
|
| -
|
| - testA(null); /// 01: ok
|
| - testA(a); /// 02: ok
|
| - testListA(listNull); /// 03: ok
|
| - testListA(listA); /// 04: ok
|
| - Expect.isTrue(testIsListA(listNull)); /// 05: ok
|
| - Expect.isTrue(testIsListA(listA)); /// 06: ok
|
| - testAsListA(listNull); /// 07: ok
|
| - testAsListA(listA); /// 08: ok
|
| -
|
| - testNull(n); /// 09: ok
|
| - testNull(a); /// 10: dynamic type error
|
| - testListNull(listNull); /// 11: ok
|
| - testListNull(listA); /// 12: dynamic type error
|
| - Expect.isTrue(testIsListNull(listNull)); /// 13: ok
|
| - Expect.isFalse(testIsListNull(listA)); /// 14: ok
|
| - testAsListNull(listNull); /// 15: ok
|
| - Expect.throws(() => testAsListNull(listA), (e) => e is CastError); /// 16: ok
|
| -
|
| - var returnNull = returnNullFunc;
|
| - var takeNull = takeNullFunc;
|
| - var returnA = returnAFunc;
|
| - var takeA = takeAFunc;
|
| -
|
| - testReturnA(returnA); /// 17: ok
|
| - testReturnA(returnNull); /// 18: ok
|
| - Expect.isTrue(testIsReturnA(returnA)); /// 19: ok
|
| - Expect.isTrue(testIsReturnA(returnNull)); /// 20: ok
|
| - testAsReturnA(returnA); /// 21: ok
|
| - testAsReturnA(returnNull); /// 22: ok
|
| -
|
| - // This is not valid in strong-mode: ()->A <: ()->Null
|
| - testReturnNull(returnA); /// 23: ok
|
| - testReturnNull(returnNull); /// 24: ok
|
| - // This is not valid in strong-mode: ()->A <: ()->Null
|
| - Expect.isTrue(testIsReturnNull(returnA)); /// 25: ok
|
| - Expect.isTrue(testIsReturnNull(returnNull)); /// 26: ok
|
| - // This is not valid in strong-mode: ()->A <: ()->Null
|
| - testAsReturnNull(returnA); /// 27: ok
|
| - testAsReturnNull(returnNull); /// 28: ok
|
| -
|
| - testTakeA(takeA); /// 29: ok
|
| - // This is not valid in strong-mode: (Null)-> <: (A)->
|
| - testTakeA(takeNull); /// 30: ok
|
| - Expect.isTrue(testIsTakeA(takeA)); /// 31: ok
|
| - // This is not valid in strong-mode: (Null)-> <: (A)->
|
| - Expect.isTrue(testIsTakeA(takeNull)); /// 32: ok
|
| - testAsTakeA(takeA); /// 33: ok
|
| - // This is not valid in strong-mode: (Null)-> <: (A)->
|
| - testAsTakeA(takeNull); /// 34: ok
|
| -
|
| - testTakeNull(takeA); /// 35: ok
|
| - testTakeNull(takeNull); /// 36: ok
|
| - Expect.isTrue(testIsTakeNull(takeA)); /// 37: ok
|
| - Expect.isTrue(testIsTakeNull(takeNull)); /// 38: ok
|
| - testAsTakeNull(takeA); /// 39: ok
|
| - testAsTakeNull(takeNull); /// 40: ok
|
| -}
|
|
|