Files
sdk/tests/language/parameter/named_passing_null_test.dart
T
Robert Nystrom 5c1376615e Migrate language_2/parameter to NNBD.
Change-Id: I369916a9edd3a9b38ab2c9ee1e11c4735331142b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150284
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-06-09 10:52:04 +00:00

47 lines
1.5 KiB
Dart

// Copyright (c) 2011, 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.
import "package:expect/expect.dart";
// Dart test program for testing named parameters with 'null' passed as an
// argument.
class TestClass {
TestClass();
num? method([value = 100]) => value;
num? method2({value: 100}) => value;
static num? staticMethod([value = 200]) => value;
static num? staticMethod2({value: 200}) => value;
}
num? globalMethod([value = 300]) => value;
num? globalMethod2({value: 300}) => value;
main() {
var obj = new TestClass();
Expect.equals(100, obj.method());
Expect.equals(100, obj.method2());
Expect.equals(50, obj.method(50));
Expect.equals(50, obj.method2(value: 50));
Expect.equals(null, obj.method(null));
Expect.equals(null, obj.method2(value: null));
Expect.equals(200, TestClass.staticMethod());
Expect.equals(200, TestClass.staticMethod2());
Expect.equals(50, TestClass.staticMethod(50));
Expect.equals(50, TestClass.staticMethod2(value: 50));
Expect.equals(null, TestClass.staticMethod(null));
Expect.equals(null, TestClass.staticMethod2(value: null));
Expect.equals(300, globalMethod());
Expect.equals(300, globalMethod2());
Expect.equals(50, globalMethod(50));
Expect.equals(50, globalMethod2(value: 50));
Expect.equals(null, globalMethod(null));
Expect.equals(null, globalMethod2(value: null));
}