| Index: pkg/unittest/test/pretty_print_minified_test.dart
|
| diff --git a/pkg/unittest/test/pretty_print_minified_test.dart b/pkg/unittest/test/pretty_print_minified_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..16c5cd61ccf5fec5afad9bb197ba120cbf80f78b
|
| --- /dev/null
|
| +++ b/pkg/unittest/test/pretty_print_minified_test.dart
|
| @@ -0,0 +1,61 @@
|
| +// Copyright (c) 2012, 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.
|
| +
|
| +// This file is for pretty-print tests that rely on the names of various Dart
|
| +// types. These tests normally fail when run in minified dart2js, since the
|
| +// names will be mangled. This version of the file is modified to expect
|
| +// minified names.
|
| +
|
| +import 'dart:collection';
|
| +
|
| +import 'package:unittest/src/pretty_print.dart';
|
| +import 'package:unittest/unittest.dart';
|
| +
|
| +class DefaultToString {}
|
| +
|
| +class CustomToString {
|
| + String toString() => "string representation";
|
| +}
|
| +
|
| +class _PrivateName {
|
| + String toString() => "string representation";
|
| +}
|
| +
|
| +class _PrivateNameIterable extends IterableMixin {
|
| + Iterator get iterator => [1, 2, 3].iterator;
|
| +}
|
| +
|
| +// A regexp fragment matching a minified name.
|
| +final _minifiedName = r"[A-Za-z0-9]{1,3}";
|
| +
|
| +void main() {
|
| + group('with an object', () {
|
| + test('with a default [toString]', () {
|
| + expect(prettyPrint(new DefaultToString()),
|
| + matches(r"<Instance of '" + _minifiedName + r"'>"));
|
| + });
|
| +
|
| + test('with a custom [toString]', () {
|
| + expect(prettyPrint(new CustomToString()),
|
| + matches(_minifiedName + r':<string representation>'));
|
| + });
|
| +
|
| + test('with a custom [toString] and a private name', () {
|
| + expect(prettyPrint(new _PrivateName()),
|
| + matches(_minifiedName + r':<string representation>'));
|
| + });
|
| + });
|
| +
|
| + group('with an iterable', () {
|
| + test("that's not a list", () {
|
| + expect(prettyPrint([1, 2, 3, 4].map((n) => n * 2)),
|
| + matches(_minifiedName + r":\[2, 4, 6, 8\]"));
|
| + });
|
| +
|
| + test("that's not a list and has a private name", () {
|
| + expect(prettyPrint(new _PrivateNameIterable()),
|
| + matches(_minifiedName + r":\[1, 2, 3\]"));
|
| + });
|
| + });
|
| +}
|
|
|