| OLD | NEW |
| 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('../../../lib/unittest/unittest.dart'); | 7 #import('../../../lib/unittest/unittest.dart'); |
| 8 #import('../../../lib/args/args.dart'); | 8 #import('../../../lib/args/args.dart'); |
| 9 | 9 |
| 10 main() { | 10 main() { |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 400 test('stops parsing at "--"', () { | 400 test('stops parsing at "--"', () { |
| 401 var parser = new ArgParser(); | 401 var parser = new ArgParser(); |
| 402 parser.addFlag('woof', defaultsTo: false); | 402 parser.addFlag('woof', defaultsTo: false); |
| 403 parser.addOption('meow', defaultsTo: 'kitty'); | 403 parser.addOption('meow', defaultsTo: 'kitty'); |
| 404 | 404 |
| 405 var results = parser.parse(['--woof', '--', '--meow']); | 405 var results = parser.parse(['--woof', '--', '--meow']); |
| 406 expect(results['woof'], isTrue); | 406 expect(results['woof'], isTrue); |
| 407 expect(results['meow'], equals('kitty')); | 407 expect(results['meow'], equals('kitty')); |
| 408 expect(results.rest, orderedEquals(['--meow'])); | 408 expect(results.rest, orderedEquals(['--meow'])); |
| 409 }); | 409 }); |
| 410 |
| 411 test('handles options with case-sensitivity', () { |
| 412 var parser = new ArgParser(); |
| 413 parser.addFlag('recurse', defaultsTo: false, abbr:'R'); |
| 414 var results = parser.parse(['-R']); |
| 415 expect(results['recurse'], isTrue); |
| 416 expect(results.rest, [ ]); |
| 417 throwsFormat(parser, ['-r']); |
| 418 }); |
| 410 }); | 419 }); |
| 411 }); | 420 }); |
| 412 | 421 |
| 413 group('ArgParser.getUsage()', () { | 422 group('ArgParser.getUsage()', () { |
| 414 test('negatable flags show "no-" in title', () { | 423 test('negatable flags show "no-" in title', () { |
| 415 var parser = new ArgParser(); | 424 var parser = new ArgParser(); |
| 416 parser.addFlag('mode', help: 'The mode'); | 425 parser.addFlag('mode', help: 'The mode'); |
| 417 | 426 |
| 418 validateUsage(parser, | 427 validateUsage(parser, |
| 419 ''' | 428 ''' |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 throw new IllegalArgumentException( | 629 throw new IllegalArgumentException( |
| 621 'Line "$line" does not have enough indentation.'); | 630 'Line "$line" does not have enough indentation.'); |
| 622 } | 631 } |
| 623 | 632 |
| 624 lines[i] = line.substring(indent); | 633 lines[i] = line.substring(indent); |
| 625 } | 634 } |
| 626 } | 635 } |
| 627 | 636 |
| 628 return Strings.join(lines, '\n'); | 637 return Strings.join(lines, '\n'); |
| 629 } | 638 } |
| OLD | NEW |