Files
sdk/tests/language_2/spread_collections/syntax_test.dart
T
Kevin Millikin 64b0ce5b58 Remove UI as code experimental flags from our tests
The features control-flow-collections and spread-collections have been
shipped and it is no longer necessary for tests to explicitly opt into
them.

Change-Id: I074b91d12e4e485ee4a64147947bb1113899ecdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104780
Auto-Submit: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2019-06-06 13:17:49 +00:00

27 lines
857 B
Dart

// Copyright (c) 2019, 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.
// Tests syntax edge cases.
import 'package:expect/expect.dart';
void main() {
// Trailing comma.
Expect.listEquals([1, 2], [...[1, 2],]);
Expect.mapEquals({1: 1, 2: 2}, {...{1: 1, 2: 2},});
Expect.setEquals({1, 2}, {...{1, 2},});
// Precedence.
Expect.listEquals([1, 2, 3], [1, ...true ? [2] : [], 3]);
Expect.listEquals([1, 3], [1, ...?true ? null : [], 3]);
var a = [0];
Expect.listEquals([1, 2, 3], [1, ...a = [2], 3]);
Expect.listEquals([1, 3], [1, ...?a = null, 3]);
var b = [2];
Expect.listEquals([1, 2, 3, 4], [1, ...b..add(3), 4]);
b = [2];
Expect.listEquals([1, 2, 3, 4], [1, ...?b..add(3), 4]);
}