| Index: pkg/args/test/parse_test.dart
|
| diff --git a/pkg/args/test/parse_test.dart b/pkg/args/test/parse_test.dart
|
| index 659c08e2245dbe1ae8f0c8bc1442d6ef3d14c452..56320d6018e36cc00e3a54e721e04005b17ef318 100644
|
| --- a/pkg/args/test/parse_test.dart
|
| +++ b/pkg/args/test/parse_test.dart
|
| @@ -53,6 +53,15 @@ void main() {
|
|
|
| throwsFormat(parser, ['--verbose=true']);
|
| });
|
| +
|
| + test('are case-sensitive', () {
|
| + var parser = new ArgParser();
|
| + parser.addFlag('verbose');
|
| + parser.addFlag('Verbose');
|
| + var results = parser.parse(['--verbose']);
|
| + expect(results['verbose'], isTrue);
|
| + expect(results['Verbose'], isFalse);
|
| + });
|
| });
|
|
|
| group('flags negated with "no-"', () {
|
| @@ -295,6 +304,15 @@ void main() {
|
| // The '?!' means this can only be understood as '--apple b?!c'.
|
| throwsFormat(parser, ['-ab?!c']);
|
| });
|
| +
|
| + test('are case-sensitive', () {
|
| + var parser = new ArgParser();
|
| + parser.addFlag('file', abbr: 'f');
|
| + parser.addFlag('force', abbr: 'F');
|
| + var results = parser.parse(['-f']);
|
| + expect(results['file'], isTrue);
|
| + expect(results['force'], isFalse);
|
| + });
|
| });
|
|
|
| group('options', () {
|
| @@ -384,6 +402,15 @@ void main() {
|
| var args = parser.parse(['']);
|
| expect(args['define'], equals(['0']));
|
| });
|
| +
|
| + test('are case-sensitive', () {
|
| + var parser = new ArgParser();
|
| + parser.addOption('verbose', defaultsTo: 'no');
|
| + parser.addOption('Verbose', defaultsTo: 'no');
|
| + var results = parser.parse(['--verbose', 'chatty']);
|
| + expect(results['verbose'], equals('chatty'));
|
| + expect(results['Verbose'], equals('no'));
|
| + });
|
| });
|
|
|
| group('remaining args', () {
|
| @@ -397,10 +424,10 @@ void main() {
|
| expect(results['woof'], isTrue);
|
| expect(results['meow'], equals('v'));
|
| expect(results['tweet'], equals('bird'));
|
| - expect(results.rest, orderedEquals(['not', 'option']));
|
| + expect(results.rest, equals(['not', 'option']));
|
| });
|
|
|
| - test('stops parsing at "--"', () {
|
| + test('consumes "--" and stops', () {
|
| var parser = new ArgParser();
|
| parser.addFlag('woof', defaultsTo: false);
|
| parser.addOption('meow', defaultsTo: 'kitty');
|
| @@ -408,16 +435,16 @@ void main() {
|
| var results = parser.parse(['--woof', '--', '--meow']);
|
| expect(results['woof'], isTrue);
|
| expect(results['meow'], equals('kitty'));
|
| - expect(results.rest, orderedEquals(['--meow']));
|
| + expect(results.rest, equals(['--meow']));
|
| });
|
|
|
| - test('handles options with case-sensitivity', () {
|
| + test('leaves "--" if not the first non-option', () {
|
| var parser = new ArgParser();
|
| - parser.addFlag('recurse', defaultsTo: false, abbr:'R');
|
| - var results = parser.parse(['-R']);
|
| - expect(results['recurse'], isTrue);
|
| - expect(results.rest, [ ]);
|
| - throwsFormat(parser, ['-r']);
|
| + parser.addFlag('woof');
|
| +
|
| + var results = parser.parse(['--woof', 'stop', '--', 'arg']);
|
| + expect(results['woof'], isTrue);
|
| + expect(results.rest, equals(['stop', '--', 'arg']));
|
| });
|
| });
|
| });
|
|
|