| Index: sdk/lib/_internal/pub_generated/test/transformer/can_log_messages_test.dart
|
| diff --git a/sdk/lib/_internal/pub_generated/test/transformer/can_log_messages_test.dart b/sdk/lib/_internal/pub_generated/test/transformer/can_log_messages_test.dart
|
| index 43f304220a7cbc48af8ca6d35fbd90acd64d7029..ca37e51e423ddc753b139663bb7fc204bd8af77c 100644
|
| --- a/sdk/lib/_internal/pub_generated/test/transformer/can_log_messages_test.dart
|
| +++ b/sdk/lib/_internal/pub_generated/test/transformer/can_log_messages_test.dart
|
| @@ -1,9 +1,16 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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.
|
| +
|
| library pub_tests;
|
| +
|
| import 'package:scheduled_test/scheduled_test.dart';
|
| import 'package:scheduled_test/scheduled_stream.dart';
|
| +
|
| import '../../lib/src/exit_codes.dart' as exit_codes;
|
| import '../descriptor.dart' as d;
|
| import '../test_pub.dart';
|
| +
|
| const SOURCE_MAPS_TRANSFORMER = """
|
| import 'dart:async';
|
|
|
| @@ -30,6 +37,7 @@ class RewriteTransformer extends Transformer {
|
| }
|
| }
|
| """;
|
| +
|
| const SOURCE_SPAN_TRANSFORMER = """
|
| import 'dart:async';
|
|
|
| @@ -55,11 +63,15 @@ class RewriteTransformer extends Transformer {
|
| }
|
| }
|
| """;
|
| +
|
| main() {
|
| initConfig();
|
| + // This intentionally tests barback 0.14.2 with both transformers, since it
|
| + // supports both types of span.
|
| withBarbackVersions("<0.15.0", () => runTest(SOURCE_MAPS_TRANSFORMER));
|
| withBarbackVersions(">=0.14.2", () => runTest(SOURCE_SPAN_TRANSFORMER));
|
| }
|
| +
|
| void runTest(String transformerText) {
|
| integration("can log messages", () {
|
| d.dir(appPath, [d.pubspec({
|
| @@ -68,27 +80,38 @@ void runTest(String transformerText) {
|
| }),
|
| d.dir("lib", [d.dir("src", [d.file("transformer.dart", transformerText)])]),
|
| d.dir("web", [d.file("foo.txt", "foo")])]).create();
|
| +
|
| createLockFile('myapp', pkg: ['barback']);
|
| +
|
| var pub = startPub(args: ["build"]);
|
| pub.stdout.expect(startsWith("Loading source assets..."));
|
| pub.stdout.expect(consumeWhile(matches("Loading .* transformers...")));
|
| pub.stdout.expect(startsWith("Building myapp..."));
|
| +
|
| pub.stdout.expect(emitsLines("""
|
| [Rewrite on myapp|web/foo.txt]:
|
| info!"""));
|
| +
|
| pub.stderr.expect(emitsLines("""
|
| [Rewrite on myapp|web/foo.txt with input myapp|web/foo.foo]:
|
| Warning!
|
| [Rewrite on myapp|web/foo.txt]:"""));
|
| - pub.stderr.expect(
|
| - allOf(
|
| - [
|
| - contains("2"),
|
| - contains("1"),
|
| - contains("http://fake.com/not_real.dart"),
|
| - contains("ERROR")]));
|
| +
|
| + // The details of the analyzer's error message change pretty frequently,
|
| + // so instead of validating the entire line, just look for a couple of
|
| + // salient bits of information.
|
| + pub.stderr.expect(allOf([contains("2"), // The line number.
|
| + contains("1"), // The column number.
|
| + contains("http://fake.com/not_real.dart"), // The library.
|
| + contains("ERROR"), // That it's an error.
|
| + ]));
|
| +
|
| + // In barback >=0.15.0, the span will point to the location where the error
|
| + // occurred.
|
| pub.stderr.expect(allow(inOrder(["d", "^"])));
|
| +
|
| pub.stderr.expect("Build failed.");
|
| +
|
| pub.shouldExit(exit_codes.DATA);
|
| });
|
| }
|
|
|