Files
sdk/tests/lib/html/serialized_script_value_test.dart
T
Lasse R.H. Nielsen ff5f391c0a Tweak expect.dart library.
Make API more consistent for a few methods.
Reduce the number of language features used in tests:
* Never iterating an iterable, always converting it
  using `.toList()` first and iterating using indices
  (fx `setEquals`).
  Also require a `List` in places where an `Iterable`
  wasn't necessary.
* Avoid doing complicated computations that are also
  used for the error message. Do simple check first,
  then recompute to get better error messages
  (fx `allDistinct`).

Renamed some rarely used members for consistency
(`stringContainsInOrder`->`containsInOrder`,
where other string-contains functions just start
with `contains`, and `containsOneOf` -> `containsAny`
to match `Iterable.any` phrasing, and also it accepts
if containing at least one, not precisely one.)

Removed a function that wasn't used anywhere.

Moved `assertStatementsEnabled` to `variations.dart` as `asserts`.
Removed `typeAssertionsEnabled` and `checkedModeEnabled`. The former used in one place, where it was replaced with `checkedImplicitDowncasts` from `variations.dart`, the latter wasn't used anywhere.

Deprecates `package:expect/minitest.dart`. It was never intended
to be used for new tests, only as a help to convert existing tests
written against `package:unit_test`.
All existing imports marked as `// ignore: deprecated_member_use`.

Change-Id: I07e21d4c0f3ccf11b82ee34af2668fdbb22264d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352360
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2024-04-09 14:49:17 +00:00

55 lines
1.7 KiB
Dart

// Copyright (c) 2020, 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 'dart:html';
import 'package:expect/minitest.dart'; // ignore: deprecated_member_use_from_same_package
import 'utils.dart';
serializationTest(name, value) {
test(name, () {
// To check how value is serialized and deserialized, we create a
// MessageEvent.
final event =
new MessageEvent('', data: value, origin: '', lastEventId: '');
verifyGraph(value, event.data);
});
}
main() {
serializationTest('null', null);
serializationTest('int', 1);
serializationTest('double', 2.39);
serializationTest('string', 'hey!');
final simpleMap = {'a': 100, 'b': 's'};
final dagMap = {'x': simpleMap, 'y': simpleMap};
final cyclicMap = {'b': dagMap};
cyclicMap['a'] = cyclicMap;
serializationTest('simple map', simpleMap);
serializationTest('dag map', dagMap);
serializationTest('cyclic map', cyclicMap);
final simpleList = [100, 's'];
final dagList = [simpleList, simpleList];
final cyclicList = [dagList];
cyclicList.add(cyclicList);
serializationTest('simple list', simpleList);
serializationTest('dag list', dagList);
serializationTest('cyclic list', cyclicList);
serializationTest('datetime', [new DateTime.now()]);
var blob = new Blob(
['Indescribable... Indestructible! Nothing can stop it!'], 'text/plain');
serializationTest('blob', [blob]);
var canvas = new CanvasElement();
canvas.width = 100;
canvas.height = 100;
var imageData = canvas.context2D.getImageData(0, 0, 1, 1);
serializationTest('imagedata', [imageData]);
}