Files
sdk/pkg/front_end/test/link_test.dart
T
Paul Berry d810c7d0c0 [front_end] Bump language version to 3.9 and reformat.
This commit was generated by the following steps:

- Manually change the SDK constraint in `pkg/front_end/pubspec.yaml`

- Run `gclient sync`

- Run `find pkg/front_end/benchmarks pkg/front_end/lib
  pkg/front_end/presubmit_helper.dart
  pkg/front_end/presubmit_helper_spawn.dart pkg/front_end/test
  pkg/front_end/tool -iname '*.dart' | xargs
  tools/sdks/dart-sdk/bin/dart format`

- Manually fix remaining long lines and add dead code ignore comments.

- Fix coverage by running `dart --enable-asserts
  pkg/front_end/test/coverage_suite.dart --tasks=5
  --add-and-remove-comments`

- Fix `pkg/front_end/test/coverage_merger/assert_message_auto_ignored`
  by running `dart pkg/front_end/test/unit_test_suites.dart -p
  pkg/front_end/test/coverage_merger/assert_message_auto_ignored
  -DupdateExpectations=true`

The diff is large because the version bump causes the formatter to
switch into "tall mode".

Change-Id: I6a6a696410da8b168060acfe0e4d6e91e294c4f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447628
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2025-08-29 07:31:41 -07:00

53 lines
1.7 KiB
Dart

// Copyright (c) 2018, 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:_fe_analyzer_shared/src/util/link.dart' show Link, LinkBuilder;
import 'package:expect/expect.dart' show Expect;
void main() {
Link<String> strings = const Link<String>().prepend("B").prepend("A");
Expect.stringEquals("[ A, B ]", "${strings}");
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
strings =
(new LinkBuilder<String>()
..addLast("A")
..addLast("B"))
.toLink(const Link<String>());
Expect.stringEquals("[ A, B ]", "${strings}");
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
strings = new LinkBuilder<String>()
.toLink(const Link<String>())
.prepend("B")
.prepend("A");
Expect.stringEquals("[ A, B ]", "${strings}");
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
strings = const Link<String>()
.reverse(const Link<String>())
.prepend("B")
.prepend("A");
Expect.stringEquals("[ A, B ]", "${strings}");
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
strings =
(new LinkBuilder<String>()
..addLast("A")
..addLast("B"))
.toLink(const Link<String>());
Expect.stringEquals("[ A, B ]", "${strings}");
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
Link<int> ints = const Link<int>()
.prepend(1)
.reverse(const Link<int>())
.tail!
.prepend(1);
Expect.stringEquals("[ 1 ]", "${ints}");
}