Added new style of tests for parser.
R=rnystrom@google.com Review URL: https://codereview.chromium.org//17333004 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24207 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
library parse_all_test;
|
||||
|
||||
import 'package:unittest/unittest.dart';
|
||||
import 'package:args/args.dart';
|
||||
|
||||
main() {
|
||||
group('ArgParser.parse() starting with a non-option', () {
|
||||
test('followed by flag', () {
|
||||
var parser = new ArgParser()..addFlag('flag');
|
||||
var args = ['A', '--flag'];
|
||||
|
||||
var results = parser.parse(args);
|
||||
expect(results['flag'], isFalse);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
|
||||
test('followed by option', () {
|
||||
var parser = new ArgParser()..addOption('opt');
|
||||
var args = ['A', '--opt'];
|
||||
|
||||
var results = parser.parse(args);
|
||||
expect(results['opt'], isNull);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
|
||||
test('followed by option and value', () {
|
||||
var parser = new ArgParser()..addOption('opt');
|
||||
var args = ['A', '--opt', 'V'];
|
||||
|
||||
var results = parser.parse(args);
|
||||
expect(results['opt'], isNull);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
|
||||
test('followed by unknown flag', () {
|
||||
var parser = new ArgParser();
|
||||
var args = ['A', '--xflag'];
|
||||
var results = parser.parse(args);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
|
||||
test('followed by unknown option and value', () {
|
||||
var parser = new ArgParser();
|
||||
var args = ['A', '--xopt', 'V'];
|
||||
var results = parser.parse(args);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
|
||||
test('followed by command', () {
|
||||
var parser = new ArgParser()..addCommand('com');
|
||||
var args = ['A', 'com'];
|
||||
|
||||
var results = parser.parse(args);
|
||||
expect(results.command, isNull);
|
||||
expect(results.rest, orderedEquals(args));
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user