Detect missing keys while classifying tokens #306
+1
-1
@@ -48,7 +48,7 @@ public class TokenClassifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void validateSeparator(List<RawToken> rawTokens, int index) {
|
private static void validateSeparator(List<RawToken> rawTokens, int index) {
|
||||||
boolean missingKey = index == 0 || rawTokens.get(index - 1).type() != RawTokenType.WORD;
|
boolean missingKey = index <= 1 || rawTokens.get(index - 1).type() != RawTokenType.WORD;
|
||||||
|
|
||||||
boolean missingValue =
|
boolean missingValue =
|
||||||
index + 1 >= rawTokens.size()
|
index + 1 >= rawTokens.size()
|
||||||
|
|||||||
+9
@@ -63,6 +63,15 @@ public class TokenClassifierTest {
|
|||||||
assertEquals("Expected VALUE after '='", ex.getMessage());
|
assertEquals("Expected VALUE after '='", ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testMissingKeyBeforeSeparatorThrows() {
|
||||||
|
List<RawToken> raw = Tokenizer.tokenize("CMD =VALUE");
|
||||||
|
|
||||||
|
TokenizerException ex =
|
||||||
|
assertThrows(TokenizerException.class, () -> TokenClassifier.classify(raw));
|
||||||
|
assertEquals("Expected KEY before '='", ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testNextWordIsKeyThrows() {
|
void testNextWordIsKeyThrows() {
|
||||||
List<RawToken> raw = Tokenizer.tokenize("CMD KEY1=KEY2=42");
|
List<RawToken> raw = Tokenizer.tokenize("CMD KEY1=KEY2=42");
|
||||||
|
|||||||
Reference in New Issue
Block a user