42 lines
1.3 KiB
Dart
42 lines
1.3 KiB
Dart
import 'package:libac_dart/argparse/Args.dart';
|
|
import 'package:libac_dart/argparse/Builder.dart';
|
|
import 'package:libac_dart/argparse/CLIHelper.dart';
|
|
import 'package:libac_dart/argparse/Parser.dart';
|
|
import 'package:libac_dart/argparse/types/Bool.dart';
|
|
import 'package:libac_dart/argparse/types/String.dart';
|
|
import 'package:test/expect.dart';
|
|
import 'package:test/scaffolding.dart';
|
|
|
|
void main() {
|
|
test("Test parsing a argument", () async {
|
|
List<String> testArgs = ["--test", "12", "--enable", "--put=Here"];
|
|
|
|
Arguments parsed = ArgumentParser.parse(testArgs);
|
|
|
|
expect(parsed.hasArg("test"), true);
|
|
expect(parsed.getArg("test")!.getValue() as int, 12);
|
|
expect(
|
|
parsed.getArg("test")!.getType(),
|
|
ArgumentType.INTEGER,
|
|
);
|
|
|
|
expect(parsed.hasArg("enable"), true);
|
|
expect(
|
|
parsed.getArg("enable")!.getType(),
|
|
ArgumentType.BOOL,
|
|
);
|
|
|
|
expect(parsed.getArg("put")!.getValue() as String, "Here");
|
|
});
|
|
|
|
test("Test printing Usage", () async {
|
|
Arguments testArgs = ArgumentsBuilder.builder()
|
|
.withArgument(BoolArgument(name: "use_legacy"))
|
|
.withArgument(StringArgument(name: "output", value: "./out"))
|
|
.build();
|
|
|
|
String usage = ArgumentHelpers.generateHelpMessage(
|
|
testArgs.getArgumentsList(), "Testsuite");
|
|
print("LibAC_Dart\nTestsuite - 1.0\n\n${usage}");
|
|
});
|
|
}
|