Fixed identifier tests
This commit is contained in:
parent
74a84cf47b
commit
1831fb3aa4
|
|
@ -200,7 +200,7 @@ static Boolean test_eof_value(LexerTest *test, LexerResult result, size_t i) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Boolean test_identifier_value(LexerTest *test, LexerResult result, size_t i, Boolean is_literal, const char *name) {
|
static Boolean test_identifier_value(LexerTest *test, LexerResult result, size_t i, Boolean is_literal, size_t length, const char *name) {
|
||||||
LexerTokenResult *head = get_token(result.result, i);
|
LexerTokenResult *head = get_token(result.result, i);
|
||||||
if (head == 0) {
|
if (head == 0) {
|
||||||
logic_fail_test(test, result, unexpected_end_of_token_stream(i + 1));
|
logic_fail_test(test, result, unexpected_end_of_token_stream(i + 1));
|
||||||
|
|
@ -214,11 +214,11 @@ static Boolean test_identifier_value(LexerTest *test, LexerResult result, size_t
|
||||||
} if (head->result.identifier.is_literal != is_literal) {
|
} if (head->result.identifier.is_literal != is_literal) {
|
||||||
logic_fail_test(test, result, is_literal ? identifier_should_be_literal(i + 1) : identifier_should_not_be_literal(i+1));
|
logic_fail_test(test, result, is_literal ? identifier_should_be_literal(i + 1) : identifier_should_not_be_literal(i+1));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
} if (head->result.identifier.length == strnlen(name)) {
|
} if (head->result.identifier.length == strnlen(name, length)) {
|
||||||
logic_fail_test(test, result, token_length_should_be(i + 1, TOKEN_IDENTIFIER, strnlen(name), head->result.identifier.length));
|
logic_fail_test(test, result, token_length_should_be(i + 1, TOKEN_IDENTIFIER, strnlen(name, length), head->result.identifier.length));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
} if (strcmp(head->result.identifier.name, "+") != 0) {
|
} if (strcmp(head->result.identifier.name, name) != 0) {
|
||||||
logic_fail_test(test, result, token_length_should_be(i + 1, TOKEN_IDENTIFIER, strnlen(name), head->result.identifier.length));
|
logic_fail_test(test, result, token_name_should_be(i + 1, TOKEN_IDENTIFIER, strnlen(name, length), head->result.identifier.name, name));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
@ -374,7 +374,7 @@ static TestResult test_add_statement() {
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "+")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "+")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
@ -386,7 +386,7 @@ static TestResult test_sub_statement() {
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 10)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 10)) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "-")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "-")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
@ -398,7 +398,7 @@ static TestResult test_mult_statement() {
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 5)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 5)) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 6)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 6)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "*")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "*")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
@ -410,7 +410,7 @@ static TestResult test_div_statement() {
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 20)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 20)) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "/")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "/")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
@ -422,9 +422,9 @@ static TestResult test_add_and_mult_statement() {
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 2)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 2)) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 3)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "+")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "+")) return test.result;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 4)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "*")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "*")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
@ -435,8 +435,8 @@ static TestResult test_dup_and_mult_statement() {
|
||||||
if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error);
|
if (result.type == SLS_ERROR) return error_fail_test(&test, result, result.error);
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (test_integer_value(&test, result, i++, INTEGER_I64, 10)) return test.result;
|
if (test_integer_value(&test, result, i++, INTEGER_I64, 10)) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "dup")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 3, "dup")) return test.result;
|
||||||
if (test_identifier_value(&test, result, i++, FALSE, "*")) return test.result;
|
if (test_identifier_value(&test, result, i++, FALSE, 1, "*")) return test.result;
|
||||||
if (test_eof_value(&test, result, i++)) return test.result;
|
if (test_eof_value(&test, result, i++)) return test.result;
|
||||||
return pass_test(&test, result);
|
return pass_test(&test, result);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue