Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: packages/path/test/posix_test.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « packages/path/pubspec.yaml ('k') | packages/path/test/url_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/path/test/posix_test.dart
diff --git a/packages/path/test/posix_test.dart b/packages/path/test/posix_test.dart
index afd6b94f03d0ccb93670705bddee360a1e56ec74..4549ebdfd48e0b835e04f6e31d25288d18466f35 100644
--- a/packages/path/test/posix_test.dart
+++ b/packages/path/test/posix_test.dart
@@ -2,8 +2,6 @@
// 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 path.test.posix_test;
-
import 'package:test/test.dart';
import 'package:path/path.dart' as path;
@@ -319,6 +317,12 @@ main() {
expect(context.normalize(r'a/b\'), r'a/b\');
expect(context.normalize('a/b///'), 'a/b');
});
+
+ test('when canonicalizing', () {
+ expect(context.canonicalize('.'), '/root/path');
+ expect(context.canonicalize('foo/bar'), '/root/path/foo/bar');
+ expect(context.canonicalize('FoO'), '/root/path/FoO');
+ });
});
group('relative', () {
@@ -350,6 +354,11 @@ main() {
expect(context.relative('a/./b/../c.txt'), 'a/c.txt');
});
+ test('is case-sensitive', () {
+ expect(context.relative('/RoOt'), '../../RoOt');
+ expect(context.relative('/rOoT/pAtH/a'), '../../rOoT/pAtH/a');
+ });
+
// Regression
test('from root-only path', () {
expect(context.relative('/', from: '/'), '.');
@@ -442,6 +451,44 @@ main() {
});
});
+ group('equals and hash', () {
+ test('simple cases', () {
+ expectEquals(context, 'foo/bar', 'foo/bar');
+ expectNotEquals(context, 'foo/bar', 'foo/bar/baz');
+ expectNotEquals(context, 'foo/bar', 'foo');
+ expectNotEquals(context, 'foo/bar', 'foo/baz');
+ expectEquals(context, 'foo/bar', '../path/foo/bar');
+ expectEquals(context, '/', '/');
+ expectEquals(context, '/', '../..');
+ expectEquals(context, 'baz', '/root/path/baz');
+ });
+
+ test('complex cases', () {
+ expectEquals(context, 'foo/./bar', 'foo/bar');
+ expectEquals(context, 'foo//bar', 'foo/bar');
+ expectEquals(context, 'foo/qux/../bar', 'foo/bar');
+ expectNotEquals(context, 'foo/qux/../bar', 'foo/qux');
+ expectNotEquals(context, 'foo/bar', 'foo/bar/baz/../..');
+ expectEquals(context, 'foo/bar', 'foo/bar///');
+ expectEquals(context, 'foo/.bar', 'foo/.bar');
+ expectNotEquals(context, 'foo/./bar', 'foo/.bar');
+ expectEquals(context, 'foo/..bar', 'foo/..bar');
+ expectNotEquals(context, 'foo/../bar', 'foo/..bar');
+ expectEquals(context, 'foo/bar', 'foo/bar/baz/..');
+ expectNotEquals(context, 'FoO/bAr', 'foo/bar');
+ });
+
+ test('from a relative root', () {
+ var r = new path.Context(style: path.Style.posix, current: 'foo/bar');
+ expectEquals(r, 'a/b', 'a/b');
+ expectNotEquals(r, '.', 'foo/bar');
+ expectNotEquals(r, '.', '../a/b');
+ expectEquals(r, '.', '../bar');
+ expectEquals(r, '/baz/bang', '/baz/bang');
+ expectNotEquals(r, 'baz/bang', '/baz/bang');
+ });
+ });
+
group('absolute', () {
test('allows up to seven parts', () {
expect(context.absolute('a'), '/root/path/a');
« no previous file with comments | « packages/path/pubspec.yaml ('k') | packages/path/test/url_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698