blob: 8d5b202bb930ef152b42321c30abb9ee36feca60 [file] [log] [blame] [edit]
// Copyright (c) 2025, 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';
import 'package:reload_test/reload_test_utils.dart';
late String noInitializer;
late int withInitializer = 1;
class Lates {
static late String noInitializer;
static late int withInitializer = 2;
}
class LatesGeneric<T> {
static late String noInitializer;
static late int withInitializer = 3;
}
Future<void> main() async {
// Late statics should throw on get when not initialized.
Expect.throws(() => noInitializer);
Expect.throws(() => Lates.noInitializer);
Expect.throws(() => LatesGeneric.noInitializer);
// Initialized statics should contain their values.
Expect.equals(1, withInitializer);
Expect.equals(2, Lates.withInitializer);
Expect.equals(3, LatesGeneric.withInitializer);
}
/** DIFF **/
/*
Expect.throws(() => Lates.noInitializer);
Expect.throws(() => LatesGeneric.noInitializer);
- // Set uninitialized static late fields again.
- noInitializer = 'set via setter';
- Lates.noInitializer = 'Lates set via setter';
- LatesGeneric.noInitializer = 'LatesGeneric set via setter';
-
- // All statics should contain their set values.
- Expect.equals('set via setter', noInitializer);
- Expect.equals('Lates set via setter', Lates.noInitializer);
- Expect.equals('LatesGeneric set via setter', LatesGeneric.noInitializer);
+ // Initialized statics should contain their values.
Expect.equals(1, withInitializer);
Expect.equals(2, Lates.withInitializer);
Expect.equals(3, LatesGeneric.withInitializer);
-
- await hotRestart();
}
*/