Support getting line for diagnostic

This commit is contained in:
2019-06-18 17:14:18 +02:00
parent e07d5cb7cb
commit dc35ba4698
4 changed files with 59 additions and 7 deletions

View File

@@ -23,8 +23,24 @@ TEST_CASE( "Diagnostic invalid token", "[integration]" ) {
CHECK(diags[0].GetCode() == Diagnostics::DiagnosticCode::UnexpectedToken);
CHECK(diags[0].GetStartPosition() == 3);
CHECK(diags[0].GetLength() == 1);
CHECK(script->Diagnostics->GetLineFromPosition(diags[0].GetStartPosition()) == 0);
delete script;
}
TEST_CASE( "Get diagnostic line", "[integration]" ) {
auto script = Script::Create(uR"(
1 +/ 1
)");
REQUIRE(script->Diagnostics -> HasErrors());
auto diags = script->Diagnostics -> GetDiagnostics();
REQUIRE(diags.size() == 1);
CHECK(diags[0].GetCode() == Diagnostics::DiagnosticCode::UnexpectedToken);
CHECK(diags[0].GetStartPosition() == 4);
CHECK(diags[0].GetLength() == 1);
CHECK(script->Diagnostics->GetLineFromPosition(diags[0].GetStartPosition()) == 1);
delete script;
}
#endif