blob: 0393ed528133a4044f6a3b544ce05b20defea863 [file] [log] [blame]
// 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.
// @dart = 2.9
import "package:expect/expect.dart";
// Test to check that we can parse closure type formal parameters with
// default value.
class A {
final f;
A(int this.f());
const A.nother(int this.f());
static Function func;
static SetFunc([String fmt(int i) = null]) {
func = fmt;
}
}
main() {
Expect.equals(null, A.func);
A.SetFunc((i) => "$i");
Expect.equals(false, null == A.func);
Expect.equals("1234", A.func(1230 + 4));
A.SetFunc();
Expect.equals(null, A.func);
Expect.equals(42, new A(() => 42).f());
Expect.equals(42, new A.nother(() => 42).f());
}