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

Side by Side Diff: pkg/args/test/args_test.dart

Issue 11312203: "Reverting 14829-14832" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « pkg/args/lib/args.dart ('k') | pkg/http/lib/src/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 args_test; 5 library args_test;
6 6
7 import '../../../pkg/unittest/lib/unittest.dart'; 7 import '../../../pkg/unittest/lib/unittest.dart';
8 8
9 // TODO(rnystrom): Use "package:" URL here when test.dart can handle pub. 9 // TODO(rnystrom): Use "package:" URL here when test.dart can handle pub.
10 import '../lib/args.dart'; 10 import '../lib/args.dart';
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 validateUsage(ArgParser parser, String expected) { 674 validateUsage(ArgParser parser, String expected) {
675 expected = unindentString(expected); 675 expected = unindentString(expected);
676 expect(parser.getUsage(), equals(expected)); 676 expect(parser.getUsage(), equals(expected));
677 } 677 }
678 678
679 // TODO(rnystrom): Replace one in test_utils. 679 // TODO(rnystrom): Replace one in test_utils.
680 String unindentString(String text) { 680 String unindentString(String text) {
681 var lines = text.split('\n'); 681 var lines = text.split('\n');
682 682
683 // Count the indentation of the last line. 683 // Count the indentation of the last line.
684 var whitespace = new RegExp('^ *'); 684 var whitespace = const RegExp('^ *');
685 var indent = whitespace.firstMatch(lines[lines.length - 1])[0].length; 685 var indent = whitespace.firstMatch(lines[lines.length - 1])[0].length;
686 686
687 // Drop the last line. It only exists for specifying indentation. 687 // Drop the last line. It only exists for specifying indentation.
688 lines.removeLast(); 688 lines.removeLast();
689 689
690 // Strip indentation from the remaining lines. 690 // Strip indentation from the remaining lines.
691 for (var i = 0; i < lines.length; i++) { 691 for (var i = 0; i < lines.length; i++) {
692 var line = lines[i]; 692 var line = lines[i];
693 if (line.length <= indent) { 693 if (line.length <= indent) {
694 // It's short, so it must be nothing but whitespace. 694 // It's short, so it must be nothing but whitespace.
695 if (line.trim() != '') { 695 if (line.trim() != '') {
696 throw new ArgumentError( 696 throw new ArgumentError(
697 'Line "$line" does not have enough indentation.'); 697 'Line "$line" does not have enough indentation.');
698 } 698 }
699 699
700 lines[i] = ''; 700 lines[i] = '';
701 } else { 701 } else {
702 if (line.substring(0, indent).trim() != '') { 702 if (line.substring(0, indent).trim() != '') {
703 throw new ArgumentError( 703 throw new ArgumentError(
704 'Line "$line" does not have enough indentation.'); 704 'Line "$line" does not have enough indentation.');
705 } 705 }
706 706
707 lines[i] = line.substring(indent); 707 lines[i] = line.substring(indent);
708 } 708 }
709 } 709 }
710 710
711 return Strings.join(lines, '\n'); 711 return Strings.join(lines, '\n');
712 } 712 }
OLDNEW
« no previous file with comments | « pkg/args/lib/args.dart ('k') | pkg/http/lib/src/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698