@jsprismarine/brigadier 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +57 -39
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/AmbiguityConsumer.js +0 -0
- package/dist/lib/AmbiguityConsumer.js.map +0 -0
- package/dist/lib/Command.js +0 -0
- package/dist/lib/Command.js.map +0 -0
- package/dist/lib/CommandDispatcher.js +45 -28
- package/dist/lib/CommandDispatcher.js.map +1 -1
- package/dist/lib/ImmutableStringReader.js +0 -0
- package/dist/lib/ImmutableStringReader.js.map +0 -0
- package/dist/lib/LiteralMessage.js +0 -0
- package/dist/lib/LiteralMessage.js.map +0 -0
- package/dist/lib/Message.js +0 -0
- package/dist/lib/Message.js.map +0 -0
- package/dist/lib/ParseResults.js +0 -0
- package/dist/lib/ParseResults.js.map +0 -0
- package/dist/lib/Predicate.js +0 -0
- package/dist/lib/Predicate.js.map +0 -0
- package/dist/lib/RedirectModifier.js +0 -0
- package/dist/lib/RedirectModifier.js.map +0 -0
- package/dist/lib/ResultConsumer.js +0 -0
- package/dist/lib/ResultConsumer.js.map +0 -0
- package/dist/lib/SingleRedirectModifier.js +0 -0
- package/dist/lib/SingleRedirectModifier.js.map +0 -0
- package/dist/lib/StringReader.js +0 -0
- package/dist/lib/StringReader.js.map +0 -0
- package/dist/lib/arguments/ArgumentType.js +1 -1
- package/dist/lib/arguments/ArgumentType.js.map +1 -1
- package/dist/lib/arguments/BoolArgumentType.js +0 -0
- package/dist/lib/arguments/BoolArgumentType.js.map +0 -0
- package/dist/lib/arguments/FloatArgumentType.js +0 -0
- package/dist/lib/arguments/FloatArgumentType.js.map +0 -0
- package/dist/lib/arguments/IntegerArgumentType.js +0 -0
- package/dist/lib/arguments/IntegerArgumentType.js.map +0 -0
- package/dist/lib/arguments/StringArgumentType.js +0 -0
- package/dist/lib/arguments/StringArgumentType.js.map +0 -0
- package/dist/lib/builder/ArgumentBuilder.js +0 -0
- package/dist/lib/builder/ArgumentBuilder.js.map +0 -0
- package/dist/lib/builder/LiteralArgumentBuilder.js +0 -0
- package/dist/lib/builder/LiteralArgumentBuilder.js.map +1 -1
- package/dist/lib/builder/RequiredArgumentBuilder.js +0 -0
- package/dist/lib/builder/RequiredArgumentBuilder.js.map +1 -1
- package/dist/lib/context/CommandContext.js +4 -4
- package/dist/lib/context/CommandContext.js.map +1 -1
- package/dist/lib/context/CommandContextBuilder.js +0 -0
- package/dist/lib/context/CommandContextBuilder.js.map +0 -0
- package/dist/lib/context/ParsedArgument.js +0 -0
- package/dist/lib/context/ParsedArgument.js.map +0 -0
- package/dist/lib/context/ParsedCommandNode.js +0 -0
- package/dist/lib/context/ParsedCommandNode.js.map +0 -0
- package/dist/lib/context/StringRange.js +0 -0
- package/dist/lib/context/StringRange.js.map +0 -0
- package/dist/lib/context/SuggestionContext.js +0 -0
- package/dist/lib/context/SuggestionContext.js.map +0 -0
- package/dist/lib/exceptions/BuiltInExceptionProvider.js +0 -0
- package/dist/lib/exceptions/BuiltInExceptionProvider.js.map +0 -0
- package/dist/lib/exceptions/BuiltInExceptions.js +0 -0
- package/dist/lib/exceptions/BuiltInExceptions.js.map +0 -0
- package/dist/lib/exceptions/CommandExceptionType.js +0 -0
- package/dist/lib/exceptions/CommandExceptionType.js.map +0 -0
- package/dist/lib/exceptions/CommandSyntaxException.js +0 -0
- package/dist/lib/exceptions/CommandSyntaxException.js.map +0 -0
- package/dist/lib/exceptions/DynamicCommandExceptionType.js +0 -0
- package/dist/lib/exceptions/DynamicCommandExceptionType.js.map +0 -0
- package/dist/lib/exceptions/SimpleCommandExceptionType.js +0 -0
- package/dist/lib/exceptions/SimpleCommandExceptionType.js.map +0 -0
- package/dist/lib/suggestion/IntegerSuggestion.js +0 -0
- package/dist/lib/suggestion/IntegerSuggestion.js.map +0 -0
- package/dist/lib/suggestion/Suggestion.js +1 -1
- package/dist/lib/suggestion/Suggestion.js.map +1 -1
- package/dist/lib/suggestion/SuggestionProvider.js +0 -0
- package/dist/lib/suggestion/SuggestionProvider.js.map +0 -0
- package/dist/lib/suggestion/Suggestions.js +1 -1
- package/dist/lib/suggestion/Suggestions.js.map +1 -1
- package/dist/lib/suggestion/SuggestionsBuilder.js +0 -0
- package/dist/lib/suggestion/SuggestionsBuilder.js.map +0 -0
- package/dist/lib/tree/ArgumentCommandNode.js +17 -16
- package/dist/lib/tree/ArgumentCommandNode.js.map +1 -1
- package/dist/lib/tree/CommandNode.js +14 -13
- package/dist/lib/tree/CommandNode.js.map +1 -1
- package/dist/lib/tree/LiteralCommandNode.js +0 -0
- package/dist/lib/tree/LiteralCommandNode.js.map +0 -0
- package/dist/lib/tree/RootCommandNode.js +0 -0
- package/dist/lib/tree/RootCommandNode.js.map +0 -0
- package/dist/lib/util/isEqual.js +0 -0
- package/dist/lib/util/isEqual.js.map +0 -0
- package/index.js +0 -0
- package/package.json +55 -48
- package/.prettierrc +0 -10
- package/.renovaterc +0 -3
- package/CHANGELOG.md +0 -30
- package/dist/index.d.ts +0 -23
- package/dist/lib/AmbiguityConsumer.d.ts +0 -4
- package/dist/lib/Command.d.ts +0 -4
- package/dist/lib/CommandDispatcher.d.ts +0 -29
- package/dist/lib/ImmutableStringReader.d.ts +0 -12
- package/dist/lib/LiteralMessage.d.ts +0 -7
- package/dist/lib/Message.d.ts +0 -3
- package/dist/lib/ParseResults.d.ts +0 -13
- package/dist/lib/Predicate.d.ts +0 -3
- package/dist/lib/Primitive.js +0 -2
- package/dist/lib/RedirectModifier.d.ts +0 -4
- package/dist/lib/ResultConsumer.d.ts +0 -4
- package/dist/lib/SingleRedirectModifier.d.ts +0 -4
- package/dist/lib/StringReader.d.ts +0 -27
- package/dist/lib/arguments/ArgumentType.d.ts +0 -21
- package/dist/lib/arguments/BoolArgumentType.d.ts +0 -13
- package/dist/lib/arguments/FloatArgumentType.d.ts +0 -16
- package/dist/lib/arguments/IntegerArgumentType.d.ts +0 -16
- package/dist/lib/arguments/StringArgumentType.d.ts +0 -21
- package/dist/lib/builder/ArgumentBuilder.d.ts +0 -28
- package/dist/lib/builder/LiteralArgumentBuilder.d.ts +0 -11
- package/dist/lib/builder/RequiredArgumentBuilder.d.ts +0 -18
- package/dist/lib/context/CommandContext.d.ts +0 -33
- package/dist/lib/context/CommandContextBuilder.d.ts +0 -38
- package/dist/lib/context/ParsedArgument.d.ts +0 -9
- package/dist/lib/context/ParsedCommandNode.d.ts +0 -11
- package/dist/lib/context/StringRange.d.ts +0 -16
- package/dist/lib/context/SuggestionContext.d.ts +0 -6
- package/dist/lib/exceptions/BuiltInExceptionProvider.d.ts +0 -23
- package/dist/lib/exceptions/BuiltInExceptions.d.ts +0 -43
- package/dist/lib/exceptions/CommandExceptionType.d.ts +0 -2
- package/dist/lib/exceptions/CommandSyntaxException.d.ts +0 -19
- package/dist/lib/exceptions/Dynamic2CommandExceptionType.js +0 -19
- package/dist/lib/exceptions/DynamicCommandExceptionType.d.ts +0 -10
- package/dist/lib/exceptions/SimpleCommandExceptionType.d.ts +0 -11
- package/dist/lib/suggestion/IntegerSuggestion.d.ts +0 -12
- package/dist/lib/suggestion/Suggestion.d.ts +0 -17
- package/dist/lib/suggestion/SuggestionProvider.d.ts +0 -6
- package/dist/lib/suggestion/Suggestions.d.ts +0 -16
- package/dist/lib/suggestion/SuggestionsBuilder.d.ts +0 -18
- package/dist/lib/tree/ArgumentCommandNode.d.ts +0 -31
- package/dist/lib/tree/CommandNode.d.ts +0 -45
- package/dist/lib/tree/LiteralCommandNode.d.ts +0 -27
- package/dist/lib/tree/RootCommandNode.d.ts +0 -21
- package/dist/lib/util/isEqual.d.ts +0 -1
- package/example/fill.js +0 -47
- package/example/fill.ts +0 -50
- package/src/index.ts +0 -50
- package/src/lib/AmbiguityConsumer.ts +0 -6
- package/src/lib/Command.ts +0 -5
- package/src/lib/CommandDispatcher.ts +0 -390
- package/src/lib/ImmutableStringReader.ts +0 -22
- package/src/lib/LiteralMessage.ts +0 -17
- package/src/lib/Message.ts +0 -3
- package/src/lib/ParseResults.ts +0 -32
- package/src/lib/Predicate.ts +0 -3
- package/src/lib/RedirectModifier.ts +0 -5
- package/src/lib/ResultConsumer.ts +0 -6
- package/src/lib/SingleRedirectModifier.ts +0 -6
- package/src/lib/StringReader.ts +0 -210
- package/src/lib/arguments/ArgumentType.ts +0 -27
- package/src/lib/arguments/BoolArgumentType.ts +0 -41
- package/src/lib/arguments/FloatArgumentType.ts +0 -75
- package/src/lib/arguments/IntegerArgumentType.ts +0 -75
- package/src/lib/arguments/StringArgumentType.ts +0 -83
- package/src/lib/builder/ArgumentBuilder.ts +0 -94
- package/src/lib/builder/LiteralArgumentBuilder.ts +0 -35
- package/src/lib/builder/RequiredArgumentBuilder.ts +0 -54
- package/src/lib/context/CommandContext.ts +0 -118
- package/src/lib/context/CommandContextBuilder.ts +0 -155
- package/src/lib/context/ParsedArgument.ts +0 -27
- package/src/lib/context/ParsedCommandNode.ts +0 -35
- package/src/lib/context/StringRange.ts +0 -57
- package/src/lib/context/SuggestionContext.ts +0 -12
- package/src/lib/exceptions/BuiltInExceptionProvider.ts +0 -43
- package/src/lib/exceptions/BuiltInExceptions.ts +0 -121
- package/src/lib/exceptions/CommandExceptionType.ts +0 -2
- package/src/lib/exceptions/CommandSyntaxException.ts +0 -77
- package/src/lib/exceptions/DynamicCommandExceptionType.ts +0 -22
- package/src/lib/exceptions/SimpleCommandExceptionType.ts +0 -26
- package/src/lib/suggestion/IntegerSuggestion.ts +0 -46
- package/src/lib/suggestion/Suggestion.ts +0 -87
- package/src/lib/suggestion/SuggestionProvider.ts +0 -7
- package/src/lib/suggestion/Suggestions.ts +0 -85
- package/src/lib/suggestion/SuggestionsBuilder.ts +0 -69
- package/src/lib/tree/ArgumentCommandNode.ts +0 -118
- package/src/lib/tree/CommandNode.ts +0 -200
- package/src/lib/tree/LiteralCommandNode.ts +0 -111
- package/src/lib/tree/RootCommandNode.ts +0 -62
- package/src/lib/util/isEqual.ts +0 -75
- package/test/CommandDispatcherTest.ts +0 -427
- package/test/CommandDispatcherUsagesTest.ts +0 -163
- package/test/CommandSuggestionsTest.ts +0 -283
- package/test/StringReaderTest.ts +0 -391
- package/test/arguments/BoolArgumentTypeTest.ts +0 -18
- package/test/arguments/FloatArgumentTypeTest.ts +0 -61
- package/test/arguments/IntegerArgumentTypeTest.ts +0 -63
- package/test/arguments/StringArgumentTypeTest.ts +0 -61
- package/test/benchmarks/ExecuteBenchmark.js +0 -33
- package/test/benchmarks/ParsingBenchmark.js +0 -96
- package/test/builder/ArgumentBuilderTest.ts +0 -61
- package/test/builder/LiteralArgumentBuilderTest.ts +0 -37
- package/test/builder/RequiredArgumentBuilderTest.ts +0 -40
- package/test/context/CommandContextTest.ts +0 -77
- package/test/context/ParsedArgumentTest.ts +0 -19
- package/test/exceptions/DynamicCommandSyntaxExceptionTypeTest.ts +0 -18
- package/test/exceptions/SimpleCommandSyntaxExceptionTypeTest.ts +0 -33
- package/test/suggestion/SuggestionBuilderTest.ts +0 -66
- package/test/suggestion/SuggestionTest.ts +0 -65
- package/test/suggestion/SuggestionsTest.ts +0 -24
- package/test/tree/AbstractCommandNodeTest.ts +0 -57
- package/test/tree/ArgumentCommandNodeTest.ts +0 -81
- package/test/tree/LiteralCommandNodeTest.ts +0 -112
- package/test/tree/RootCommandNodeTest.ts +0 -70
- package/test/utils/testEquality.ts +0 -10
- package/tsconfig.json +0 -40
- package/tsconfig.tsbuildinfo +0 -1578
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { assert } from "chai"
|
|
2
|
-
import testEquality from "../utils/testEquality"
|
|
3
|
-
import { DefaultType } from "../../src/lib/arguments/ArgumentType"
|
|
4
|
-
import Command from "../../src/lib/Command"
|
|
5
|
-
import CommandNode from "../../src/lib/tree/CommandNode"
|
|
6
|
-
import RootCommandNode from "../../src/lib/tree/RootCommandNode"
|
|
7
|
-
import CommandDispatcher from "../../src/lib/CommandDispatcher"
|
|
8
|
-
import ArgumentCommandNode from "../../src/lib/tree/ArgumentCommandNode"
|
|
9
|
-
import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
|
|
10
|
-
import RequiredArgumentBuilder, { argument } from "../../src/lib/builder/RequiredArgumentBuilder"
|
|
11
|
-
import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
|
|
12
|
-
import StringReader from "../../src/lib/StringReader"
|
|
13
|
-
|
|
14
|
-
const { integer } = DefaultType;
|
|
15
|
-
|
|
16
|
-
describe('ArgumentCommandNodeTest', () => {
|
|
17
|
-
const command: Command<Object> = () => 0;
|
|
18
|
-
let contextBuilder: CommandContextBuilder<Object>;
|
|
19
|
-
let node: ArgumentCommandNode<Object, number>;
|
|
20
|
-
|
|
21
|
-
function getCommandNode(): CommandNode<Object> {
|
|
22
|
-
return node;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
beforeEach(() => {
|
|
26
|
-
node = argument("foo", integer()).build();
|
|
27
|
-
contextBuilder = new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0);
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
it('testParse', () => {
|
|
31
|
-
const reader = new StringReader("123 456");
|
|
32
|
-
node.parse(reader, contextBuilder);
|
|
33
|
-
|
|
34
|
-
assert.equal(contextBuilder.getArguments().has("foo"), true);
|
|
35
|
-
assert.equal(contextBuilder.getArguments().get("foo").getResult(), 123);
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
it('testUsage', () => {
|
|
39
|
-
assert.equal(node.getUsageText(), "<foo>");
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
it('testSuggestions', async () => {
|
|
43
|
-
const result = await node.listSuggestions(contextBuilder.build(""), new SuggestionsBuilder("", 0));
|
|
44
|
-
assert.equal(result.isEmpty(), true);
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
it('testEquals', () => {
|
|
48
|
-
testEquality(
|
|
49
|
-
argument("foo", integer()).build(),
|
|
50
|
-
argument("foo", integer()).build()
|
|
51
|
-
)
|
|
52
|
-
testEquality(
|
|
53
|
-
argument("foo", integer()).executes(command).build(),
|
|
54
|
-
argument("foo", integer()).executes(command).build()
|
|
55
|
-
)
|
|
56
|
-
testEquality(
|
|
57
|
-
argument("bar", integer(-100, 100)).build(),
|
|
58
|
-
argument("bar", integer(-100, 100)).build()
|
|
59
|
-
)
|
|
60
|
-
testEquality(
|
|
61
|
-
argument("foo", integer(-100, 100)).build(),
|
|
62
|
-
argument("foo", integer(-100, 100)).build()
|
|
63
|
-
)
|
|
64
|
-
testEquality(
|
|
65
|
-
argument("foo", integer()).then(
|
|
66
|
-
argument("bar", integer())
|
|
67
|
-
).build(),
|
|
68
|
-
argument("foo", integer()).then(
|
|
69
|
-
argument("bar", integer())
|
|
70
|
-
).build()
|
|
71
|
-
)
|
|
72
|
-
})
|
|
73
|
-
|
|
74
|
-
it('testCreateBuilder', () => {
|
|
75
|
-
const builder: RequiredArgumentBuilder<Object, number> = node.createBuilder();
|
|
76
|
-
assert.equal(builder.getName(), node.getName());
|
|
77
|
-
assert.deepEqual(builder.getType(), node.getType());
|
|
78
|
-
assert.deepEqual(builder.getRequirement(), node.getRequirement());
|
|
79
|
-
assert.deepEqual(builder.getCommand(), node.getCommand());
|
|
80
|
-
})
|
|
81
|
-
})
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { assert, expect } from "chai"
|
|
2
|
-
import testEquality from "../utils/testEquality"
|
|
3
|
-
import CommandDispatcher from "../../src/lib/CommandDispatcher"
|
|
4
|
-
import RootCommandNode from "../../src/lib/tree/RootCommandNode"
|
|
5
|
-
import LiteralCommandNode from "../../src/lib/tree/LiteralCommandNode"
|
|
6
|
-
import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
|
|
7
|
-
import CommandSyntaxException from "../../src/lib/exceptions/CommandSyntaxException"
|
|
8
|
-
import Suggestion from "../../src/lib/suggestion/Suggestion"
|
|
9
|
-
import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
|
|
10
|
-
import { literal } from "../../src/lib/builder/LiteralArgumentBuilder"
|
|
11
|
-
import StringReader from "../../src/lib/StringReader"
|
|
12
|
-
import StringRange from "../../src/lib/context/StringRange"
|
|
13
|
-
|
|
14
|
-
describe('LiteralCommandNodeTest', () => {
|
|
15
|
-
let node: LiteralCommandNode<Object>;
|
|
16
|
-
let contextBuilder: CommandContextBuilder<Object>;
|
|
17
|
-
|
|
18
|
-
beforeEach(() => {
|
|
19
|
-
node = literal("foo").build();
|
|
20
|
-
contextBuilder = new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0);
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
it('testParse', () => {
|
|
24
|
-
const reader = new StringReader("foo bar");
|
|
25
|
-
node.parse(reader, contextBuilder);
|
|
26
|
-
assert.equal(reader.getRemaining(), " bar");
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
it('testParseExact', () => {
|
|
30
|
-
const reader = new StringReader("foo");
|
|
31
|
-
node.parse(reader, contextBuilder);
|
|
32
|
-
assert.equal(reader.getRemaining(), "");
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
it('testParseSimilar', done => {
|
|
36
|
-
const reader = new StringReader("foobar");
|
|
37
|
-
try {
|
|
38
|
-
node.parse(reader, contextBuilder);
|
|
39
|
-
} catch (ex) {
|
|
40
|
-
assert.equal(ex.getType(), CommandSyntaxException.BUILT_IN_EXCEPTIONS.literalIncorrect());
|
|
41
|
-
assert.equal(ex.getCursor(), 0);
|
|
42
|
-
done();
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
assert.fail();
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
it('testParseInvalid', done => {
|
|
50
|
-
const reader = new StringReader("bar");
|
|
51
|
-
try {
|
|
52
|
-
node.parse(reader, contextBuilder);
|
|
53
|
-
} catch (ex) {
|
|
54
|
-
assert.equal(ex.getType(), CommandSyntaxException.BUILT_IN_EXCEPTIONS.literalIncorrect());
|
|
55
|
-
assert.equal(ex.getCursor(), 0);
|
|
56
|
-
done();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
assert.fail();
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
it('testUsage', () => {
|
|
64
|
-
assert.equal(node.getUsageText(), "foo");
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
it('testSuggestions', async () => {
|
|
68
|
-
const empty = await node.listSuggestions(contextBuilder.build(""), new SuggestionsBuilder("", 0));
|
|
69
|
-
expect(empty.getList()).to.deep.equal([new Suggestion(StringRange.at(0), "foo")]);
|
|
70
|
-
|
|
71
|
-
const foo = await node.listSuggestions(contextBuilder.build("foo"), new SuggestionsBuilder("foo", 0));
|
|
72
|
-
assert.equal(foo.isEmpty(), true);
|
|
73
|
-
|
|
74
|
-
const food = await node.listSuggestions(contextBuilder.build("food"), new SuggestionsBuilder("food", 0));
|
|
75
|
-
assert.equal(food.isEmpty(), true);
|
|
76
|
-
|
|
77
|
-
const b = await node.listSuggestions(contextBuilder.build("b"), new SuggestionsBuilder("b", 0));
|
|
78
|
-
assert.equal(food.isEmpty(), true);
|
|
79
|
-
})
|
|
80
|
-
|
|
81
|
-
it('testEquals', () => {
|
|
82
|
-
const command = () => 0;
|
|
83
|
-
|
|
84
|
-
testEquality(
|
|
85
|
-
literal("foo").build(),
|
|
86
|
-
literal("foo").build()
|
|
87
|
-
)
|
|
88
|
-
testEquality(
|
|
89
|
-
literal("bar").executes(command).build(),
|
|
90
|
-
literal("bar").executes(command).build()
|
|
91
|
-
)
|
|
92
|
-
testEquality(
|
|
93
|
-
literal("bar").build(),
|
|
94
|
-
literal("bar").build()
|
|
95
|
-
)
|
|
96
|
-
testEquality(
|
|
97
|
-
literal("foo").then(
|
|
98
|
-
literal("bar")
|
|
99
|
-
).build(),
|
|
100
|
-
literal("foo").then(
|
|
101
|
-
literal("bar")
|
|
102
|
-
).build()
|
|
103
|
-
)
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
it('testCreateBuilder', () => {
|
|
107
|
-
const builder = node.createBuilder();
|
|
108
|
-
assert.deepEqual(builder.getLiteral(), node.getLiteral());
|
|
109
|
-
assert.deepEqual(builder.getRequirement(), node.getRequirement());
|
|
110
|
-
assert.deepEqual(builder.getCommand(), node.getCommand());
|
|
111
|
-
})
|
|
112
|
-
})
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { assert, expect } from "chai"
|
|
2
|
-
import { mock, instance } from "ts-mockito"
|
|
3
|
-
import RootCommandNode from "../../src/lib/tree/RootCommandNode"
|
|
4
|
-
import CommandContext from "../../src/lib/context/CommandContext"
|
|
5
|
-
import StringReader from "../../src/lib/StringReader"
|
|
6
|
-
import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
|
|
7
|
-
import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
|
|
8
|
-
import { literal } from "../../src/lib/builder/LiteralArgumentBuilder"
|
|
9
|
-
import CommandDispatcher from "../../src/lib/CommandDispatcher"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
describe('RootCommandNodeTest', () => {
|
|
13
|
-
let node: RootCommandNode<Object>;
|
|
14
|
-
|
|
15
|
-
beforeEach(() => {
|
|
16
|
-
node = new RootCommandNode();
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
it('testParse', () => {
|
|
20
|
-
const reader = new StringReader("hello world");
|
|
21
|
-
node.parse(reader, new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0));
|
|
22
|
-
assert.equal(reader.getCursor(), 0);
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
it('testAddChildNoRoot', done => {
|
|
26
|
-
try {
|
|
27
|
-
node.addChild(new RootCommandNode());
|
|
28
|
-
} catch (ex) {
|
|
29
|
-
expect(ex instanceof Error).to.equal(true);
|
|
30
|
-
done();
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
assert.fail();
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
it('testUsage', () => {
|
|
38
|
-
assert.equal(node.getUsageText(), "");
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
it('testSuggestions', async () => {
|
|
42
|
-
const context = instance(mock(CommandContext));
|
|
43
|
-
const result = await node.listSuggestions(context, new SuggestionsBuilder("", 0));
|
|
44
|
-
assert.equal(result.isEmpty(), true);
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
it('testCreateBuilder', done => {
|
|
48
|
-
try {
|
|
49
|
-
node.createBuilder();
|
|
50
|
-
} catch (ex) {
|
|
51
|
-
expect(ex instanceof Error).to.equal(true);
|
|
52
|
-
done();
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
assert.fail();
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
it('testEquals', () => {
|
|
60
|
-
|
|
61
|
-
assert.equal(new RootCommandNode().equals(new RootCommandNode()), true)
|
|
62
|
-
|
|
63
|
-
const temp1 = new RootCommandNode<Object>();
|
|
64
|
-
temp1.addChild(literal("foo").build())
|
|
65
|
-
const temp2 = new RootCommandNode<Object>()
|
|
66
|
-
temp2.addChild(literal("foo").build())
|
|
67
|
-
|
|
68
|
-
assert.equal(temp1.equals(temp2), true)
|
|
69
|
-
})
|
|
70
|
-
})
|
package/tsconfig.json
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"outDir": "./dist",
|
|
4
|
-
"sourceRoot": "./src/",
|
|
5
|
-
"target": "es2020",
|
|
6
|
-
"rootDir": "./src/",
|
|
7
|
-
"lib": [
|
|
8
|
-
"es2020",
|
|
9
|
-
"esnext"
|
|
10
|
-
],
|
|
11
|
-
"module": "commonjs",
|
|
12
|
-
"moduleResolution": "node",
|
|
13
|
-
"types": [
|
|
14
|
-
"node"
|
|
15
|
-
],
|
|
16
|
-
"allowJs": true,
|
|
17
|
-
"strict": false,
|
|
18
|
-
"sourceMap": true,
|
|
19
|
-
"forceConsistentCasingInFileNames": true,
|
|
20
|
-
"isolatedModules": true,
|
|
21
|
-
"esModuleInterop": true,
|
|
22
|
-
"declaration": true,
|
|
23
|
-
"allowSyntheticDefaultImports": true,
|
|
24
|
-
"resolveJsonModule": true,
|
|
25
|
-
"emitDecoratorMetadata": true,
|
|
26
|
-
"experimentalDecorators": true,
|
|
27
|
-
"composite": true,
|
|
28
|
-
"pretty": true
|
|
29
|
-
},
|
|
30
|
-
"include": [
|
|
31
|
-
"src/**/*"
|
|
32
|
-
],
|
|
33
|
-
"exclude": [
|
|
34
|
-
"src**/*.test.ts"
|
|
35
|
-
],
|
|
36
|
-
"typeRoots": [
|
|
37
|
-
"src/@types",
|
|
38
|
-
"node_modules/@types"
|
|
39
|
-
]
|
|
40
|
-
}
|