469e1e2e64
Change-Id: I7a157080e4d7fd80d64489a13de4e996b5870930 Reviewed-on: https://dart-review.googlesource.com/c/79474 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
47 lines
1.6 KiB
Dart
47 lines
1.6 KiB
Dart
// Copyright (c) 2016, 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:analyzer/src/generated/utilities_dart.dart';
|
|
import 'package:test/test.dart';
|
|
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
|
main() {
|
|
defineReflectiveSuite(() {
|
|
defineReflectiveTests(ResolveRelativeUriTest);
|
|
});
|
|
}
|
|
|
|
@reflectiveTest
|
|
class ResolveRelativeUriTest {
|
|
void test_absolute() {
|
|
_validate('dart:core', 'dart:async', 'dart:async');
|
|
_validate('package:foo/foo.dart', 'dart:async', 'dart:async');
|
|
_validate('package:a/a.dart', 'package:b/b.dart', 'package:b/b.dart');
|
|
_validate('foo.dart', 'dart:async', 'dart:async');
|
|
}
|
|
|
|
void test_absoluteDart_relative() {
|
|
_validate('dart:core', 'int.dart', 'dart:core/int.dart');
|
|
}
|
|
|
|
void test_absolutePackage_relative() {
|
|
_validate('package:a/b.dart', 'c.dart', 'package:a/c.dart');
|
|
_validate('package:a/b/c.dart', 'd.dart', 'package:a/b/d.dart');
|
|
_validate('package:a/b/c.dart', '../d.dart', 'package:a/d.dart');
|
|
}
|
|
|
|
void test_relative_relative() {
|
|
_validate('a/b.dart', 'c.dart', 'a/c.dart');
|
|
_validate('a/b.dart', '../c.dart', 'c.dart');
|
|
_validate('a.dart', '../b.dart', '../b.dart');
|
|
_validate('a.dart', '../../b.dart', '../../b.dart');
|
|
_validate('a/b.dart', '../../c.dart', '../c.dart');
|
|
}
|
|
|
|
void _validate(String base, String contained, String expected) {
|
|
Uri actual = resolveRelativeUri(Uri.parse(base), Uri.parse(contained));
|
|
expect(actual.toString(), expected);
|
|
}
|
|
}
|