blob: 74449a6145370c369e872f8f7a2f732005eeca3f [file] [log] [blame]
// Copyright (c) 2015, 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.
// TODO(jakemac): swap this to @TestOn('pub-serve') once
// https://github.com/dart-lang/test/issues/388 is completed.
@TestOn('!js')
@initializeTracker
library initialize.test.initializer_from_test;
import 'package:initialize/src/initialize_tracker.dart';
import 'package:initialize/initialize.dart';
import 'package:test/test.dart';
import 'package:test_package/bar.dart' as bar;
/// Uses [bar]
main() {
test('The `from` option', () async {
final expectedNames = <LibraryIdentifier>[];
// First just run on the test packages bar.dart file.
await run(from: Uri.parse('package:test_package/bar.dart'));
expectedNames.add(
const LibraryIdentifier(#test_package.bar, 'test_package', 'bar.dart'));
expect(InitializeTracker.seen, expectedNames);
// Now we run on the rest (just this file).
await run();
expect(InitializeTracker.seen.length, 2);
// Don't know what the path will be, so have to explicitly check fields
// and use an [endsWith] matcher for the path.
expect(
InitializeTracker.seen[1].name, #initialize.test.initializer_from_test);
expect(InitializeTracker.seen[1].package, isNull);
expect(
InitializeTracker.seen[1].path, endsWith('initializer_from_test.dart'));
},
skip: 'Should be skipped only in pub-serve mode, blocked on '
'https://github.com/dart-lang/test/issues/388.');
}