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

Unified Diff: pkg/path/test/path_posix_test.dart

Issue 11638021: Make dirname and basename ignore trailing separators and double slashes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years 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
Index: pkg/path/test/path_posix_test.dart
diff --git a/pkg/path/test/path_posix_test.dart b/pkg/path/test/path_posix_test.dart
index f929c2a571e875de52c03737438eef56516b9a28..b917e93ac46c33b60ec04f5815b779e99b3c0360 100644
--- a/pkg/path/test/path_posix_test.dart
+++ b/pkg/path/test/path_posix_test.dart
@@ -48,14 +48,18 @@ main() {
expect(builder.dirname('a/b'), 'a');
expect(builder.dirname('a/b/c'), 'a/b');
expect(builder.dirname('a/b.c'), 'a');
- expect(builder.dirname('a/'), 'a');
+ expect(builder.dirname('a/'), '.');
expect(builder.dirname('a/.'), 'a');
expect(builder.dirname(r'a\b/c'), r'a\b');
expect(builder.dirname('/a'), '/');
+ expect(builder.dirname('///a'), '/');
expect(builder.dirname('/'), '/');
- expect(builder.dirname('a/b/'), 'a/b');
+ expect(builder.dirname('///'), '/');
+ expect(builder.dirname('a/b/'), 'a');
expect(builder.dirname(r'a/b\c'), 'a');
- expect(builder.dirname('a//'), 'a/');
+ expect(builder.dirname('a//'), '.');
+ expect(builder.dirname('a/b//'), 'a');
+ expect(builder.dirname('a//b'), 'a');
});
test('basename', () {
@@ -64,15 +68,16 @@ main() {
expect(builder.basename('a/b'), 'b');
expect(builder.basename('a/b/c'), 'c');
expect(builder.basename('a/b.c'), 'b.c');
- expect(builder.basename('a/'), '');
+ expect(builder.basename('a/'), 'a');
expect(builder.basename('a/.'), '.');
expect(builder.basename(r'a\b/c'), 'c');
expect(builder.basename('/a'), 'a');
- // TODO(nweiz): this should actually return '/'
- expect(builder.basename('/'), '');
- expect(builder.basename('a/b/'), '');
+ expect(builder.basename('/'), '/');
+ expect(builder.basename('a/b/'), 'b');
expect(builder.basename(r'a/b\c'), r'b\c');
- expect(builder.basename('a//'), '');
+ expect(builder.basename('a//'), 'a');
+ expect(builder.basename('a/b//'), 'b');
+ expect(builder.basename('a//b'), 'b');
});
test('basenameWithoutExtension', () {
@@ -81,11 +86,16 @@ main() {
expect(builder.basenameWithoutExtension('a/b'), 'b');
expect(builder.basenameWithoutExtension('a/b/c'), 'c');
expect(builder.basenameWithoutExtension('a/b.c'), 'b');
- expect(builder.basenameWithoutExtension('a/'), '');
+ expect(builder.basenameWithoutExtension('a/'), 'a');
expect(builder.basenameWithoutExtension('a/.'), '.');
expect(builder.basenameWithoutExtension(r'a/b\c'), r'b\c');
expect(builder.basenameWithoutExtension('a/.bashrc'), '.bashrc');
expect(builder.basenameWithoutExtension('a/b/c.d.e'), 'c.d');
+ expect(builder.basenameWithoutExtension('a//'), 'a');
+ expect(builder.basenameWithoutExtension('a/b//'), 'b');
+ expect(builder.basenameWithoutExtension('a//b'), 'b');
+ expect(builder.basenameWithoutExtension('a/b.c/'), 'b');
+ expect(builder.basenameWithoutExtension('a/b.c//'), 'b');
});
test('isAbsolute', () {
@@ -358,5 +368,7 @@ main() {
expect(builder.withoutExtension(r'a.b\c'), r'a');
expect(builder.withoutExtension(r'a/b\c'), r'a/b\c');
expect(builder.withoutExtension(r'a/b\c.d'), r'a/b\c');
+ expect(builder.withoutExtension('a/b.c/'), 'a/b/');
+ expect(builder.withoutExtension('a/b.c//'), 'a/b//');
Bob Nystrom 2012/12/20 02:27:28 Nice.
nweiz 2012/12/20 20:54:49 Just for you.
});
}

Powered by Google App Engine
This is Rietveld 408576698