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

Side by Side Diff: pkg/path/test/path_windows_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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library path_test; 5 library path_test;
6 6
7 import 'dart:io' as io; 7 import 'dart:io' as io;
8 8
9 // TODO(rnystrom): Use "package:" path when #7491 is fixed. 9 // TODO(rnystrom): Use "package:" path when #7491 is fixed.
10 import '../../unittest/lib/unittest.dart'; 10 import '../../unittest/lib/unittest.dart';
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 // TODO(nweiz): enable this once issue 7323 is fixed. 47 // TODO(nweiz): enable this once issue 7323 is fixed.
48 // expect(builder.rootPrefix(r'\\server\a\b'), r'\\server\'); 48 // expect(builder.rootPrefix(r'\\server\a\b'), r'\\server\');
49 }); 49 });
50 50
51 test('dirname', () { 51 test('dirname', () {
52 expect(builder.dirname(r''), '.'); 52 expect(builder.dirname(r''), '.');
53 expect(builder.dirname(r'a'), '.'); 53 expect(builder.dirname(r'a'), '.');
54 expect(builder.dirname(r'a\b'), 'a'); 54 expect(builder.dirname(r'a\b'), 'a');
55 expect(builder.dirname(r'a\b\c'), r'a\b'); 55 expect(builder.dirname(r'a\b\c'), r'a\b');
56 expect(builder.dirname(r'a\b.c'), 'a'); 56 expect(builder.dirname(r'a\b.c'), 'a');
57 expect(builder.dirname(r'a\'), 'a'); 57 expect(builder.dirname(r'a\'), '.');
58 expect(builder.dirname('a/'), 'a'); 58 expect(builder.dirname('a/'), '.');
59 expect(builder.dirname(r'a\.'), 'a'); 59 expect(builder.dirname(r'a\.'), 'a');
60 expect(builder.dirname(r'a\b/c'), r'a\b'); 60 expect(builder.dirname(r'a\b/c'), r'a\b');
61 expect(builder.dirname(r'C:\a'), r'C:\'); 61 expect(builder.dirname(r'C:\a'), r'C:\');
62 expect(builder.dirname('C:\\'), r'C:\'); 62 expect(builder.dirname(r'C:\\\a'), r'C:\');
63 expect(builder.dirname(r'a\b\'), r'a\b'); 63 expect(builder.dirname(r'C:\'), r'C:\');
64 expect(builder.dirname(r'C:\\\'), r'C:\');
65 expect(builder.dirname(r'a\b\'), r'a');
64 expect(builder.dirname(r'a/b\c'), 'a/b'); 66 expect(builder.dirname(r'a/b\c'), 'a/b');
65 expect(builder.dirname(r'a\\'), r'a\'); 67 expect(builder.dirname(r'a\\'), r'.');
68 expect(builder.dirname(r'a\b\\'), 'a');
69 expect(builder.dirname(r'a\\b'), 'a');
66 }); 70 });
67 71
68 test('basename', () { 72 test('basename', () {
69 expect(builder.basename(r''), ''); 73 expect(builder.basename(r''), '');
70 expect(builder.basename(r'a'), 'a'); 74 expect(builder.basename(r'a'), 'a');
71 expect(builder.basename(r'a\b'), 'b'); 75 expect(builder.basename(r'a\b'), 'b');
72 expect(builder.basename(r'a\b\c'), 'c'); 76 expect(builder.basename(r'a\b\c'), 'c');
73 expect(builder.basename(r'a\b.c'), 'b.c'); 77 expect(builder.basename(r'a\b.c'), 'b.c');
74 expect(builder.basename(r'a\'), ''); 78 expect(builder.basename(r'a\'), 'a');
75 expect(builder.basename(r'a/'), ''); 79 expect(builder.basename(r'a/'), 'a');
76 expect(builder.basename(r'a\.'), '.'); 80 expect(builder.basename(r'a\.'), '.');
77 expect(builder.basename(r'a\b/c'), r'c'); 81 expect(builder.basename(r'a\b/c'), r'c');
78 expect(builder.basename(r'C:\a'), 'a'); 82 expect(builder.basename(r'C:\a'), 'a');
79 // TODO(nweiz): this should actually return 'C:\' 83 expect(builder.basename(r'C:\'), r'C:\');
80 expect(builder.basename(r'C:\'), ''); 84 expect(builder.basename(r'a\b\'), 'b');
81 expect(builder.basename(r'a\b\'), '');
82 expect(builder.basename(r'a/b\c'), 'c'); 85 expect(builder.basename(r'a/b\c'), 'c');
83 expect(builder.basename(r'a\\'), ''); 86 expect(builder.basename(r'a\\'), 'a');
87 expect(builder.basename(r'a\b\\'), 'b');
88 expect(builder.basename(r'a\\b'), 'b');
84 }); 89 });
85 90
86 test('basenameWithoutExtension', () { 91 test('basenameWithoutExtension', () {
87 expect(builder.basenameWithoutExtension(''), ''); 92 expect(builder.basenameWithoutExtension(''), '');
88 expect(builder.basenameWithoutExtension('a'), 'a'); 93 expect(builder.basenameWithoutExtension('a'), 'a');
89 expect(builder.basenameWithoutExtension(r'a\b'), 'b'); 94 expect(builder.basenameWithoutExtension(r'a\b'), 'b');
90 expect(builder.basenameWithoutExtension(r'a\b\c'), 'c'); 95 expect(builder.basenameWithoutExtension(r'a\b\c'), 'c');
91 expect(builder.basenameWithoutExtension(r'a\b.c'), 'b'); 96 expect(builder.basenameWithoutExtension(r'a\b.c'), 'b');
92 expect(builder.basenameWithoutExtension(r'a\'), ''); 97 expect(builder.basenameWithoutExtension(r'a\'), 'a');
93 expect(builder.basenameWithoutExtension(r'a\.'), '.'); 98 expect(builder.basenameWithoutExtension(r'a\.'), '.');
94 expect(builder.basenameWithoutExtension(r'a\b/c'), r'c'); 99 expect(builder.basenameWithoutExtension(r'a\b/c'), r'c');
95 expect(builder.basenameWithoutExtension(r'a\.bashrc'), '.bashrc'); 100 expect(builder.basenameWithoutExtension(r'a\.bashrc'), '.bashrc');
96 expect(builder.basenameWithoutExtension(r'a\b\c.d.e'), 'c.d'); 101 expect(builder.basenameWithoutExtension(r'a\b\c.d.e'), 'c.d');
102 expect(builder.basenameWithoutExtension(r'a\\'), 'a');
103 expect(builder.basenameWithoutExtension(r'a\b\\'), 'b');
104 expect(builder.basenameWithoutExtension(r'a\\b'), 'b');
105 expect(builder.basenameWithoutExtension(r'a\b.c\'), 'b');
106 expect(builder.basenameWithoutExtension(r'a\b.c\\'), 'b');
97 }); 107 });
98 108
99 test('isAbsolute', () { 109 test('isAbsolute', () {
100 expect(builder.isAbsolute(''), false); 110 expect(builder.isAbsolute(''), false);
101 expect(builder.isAbsolute('a'), false); 111 expect(builder.isAbsolute('a'), false);
102 expect(builder.isAbsolute(r'a\b'), false); 112 expect(builder.isAbsolute(r'a\b'), false);
103 expect(builder.isAbsolute(r'\a'), false); 113 expect(builder.isAbsolute(r'\a'), false);
104 expect(builder.isAbsolute(r'\a\b'), false); 114 expect(builder.isAbsolute(r'\a\b'), false);
105 expect(builder.isAbsolute('~'), false); 115 expect(builder.isAbsolute('~'), false);
106 expect(builder.isAbsolute('.'), false); 116 expect(builder.isAbsolute('.'), false);
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 expect(builder.withoutExtension(r'a\b.c.d'), r'a\b.c'); 395 expect(builder.withoutExtension(r'a\b.c.d'), r'a\b.c');
386 expect(builder.withoutExtension(r'a\'), r'a\'); 396 expect(builder.withoutExtension(r'a\'), r'a\');
387 expect(builder.withoutExtension(r'a\b\'), r'a\b\'); 397 expect(builder.withoutExtension(r'a\b\'), r'a\b\');
388 expect(builder.withoutExtension(r'a\.'), r'a\.'); 398 expect(builder.withoutExtension(r'a\.'), r'a\.');
389 expect(builder.withoutExtension(r'a\.b'), r'a\.b'); 399 expect(builder.withoutExtension(r'a\.b'), r'a\.b');
390 expect(builder.withoutExtension(r'a.b\c'), r'a.b\c'); 400 expect(builder.withoutExtension(r'a.b\c'), r'a.b\c');
391 expect(builder.withoutExtension(r'a/b.c/d'), r'a/b.c/d'); 401 expect(builder.withoutExtension(r'a/b.c/d'), r'a/b.c/d');
392 expect(builder.withoutExtension(r'a\b/c'), r'a\b/c'); 402 expect(builder.withoutExtension(r'a\b/c'), r'a\b/c');
393 expect(builder.withoutExtension(r'a\b/c.d'), r'a\b/c'); 403 expect(builder.withoutExtension(r'a\b/c.d'), r'a\b/c');
394 expect(builder.withoutExtension(r'a.b/c'), r'a.b/c'); 404 expect(builder.withoutExtension(r'a.b/c'), r'a.b/c');
405 expect(builder.withoutExtension(r'a\b.c\'), r'a\b\');
395 }); 406 });
396 } 407 }
OLDNEW
« pkg/path/test/path_posix_test.dart ('K') | « pkg/path/test/path_posix_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698