Move Lexer to u16string handling, for unicode support
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -20,7 +20,7 @@ extern "C" {
|
||||
return v->EvaluateBool();
|
||||
}
|
||||
|
||||
const char* EvaluateEvalValueString(EvalValue* v){
|
||||
const char16_t * EvaluateEvalValueString(EvalValue* v){
|
||||
return v->EvaluateString() -> c_str();
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ extern "C" {
|
||||
return new BooleanEvalValue(b);
|
||||
}
|
||||
|
||||
EvalValue* CreateStringEvalValue(const char* s){
|
||||
EvalValue* CreateStringEvalValue(const char16_t * s){
|
||||
return new StringEvalValue(s);
|
||||
}
|
||||
}
|
||||
@@ -47,11 +47,12 @@ extern "C" {
|
||||
|
||||
|
||||
TEST_CASE( "Evaluate String", "[integration]" ) {
|
||||
auto script = Script::Create("\"foo bar\"");
|
||||
auto script = Script::Create(u"\"foo bar\"");
|
||||
REQUIRE(!script->Diagnostics -> HasErrors());
|
||||
script->Evaluate();
|
||||
auto lastValue = script->GetLastValue();
|
||||
REQUIRE(std::strcmp(EvaluateEvalValueString(lastValue), "foo bar") == 0);
|
||||
auto s = u16string(EvaluateEvalValueString(lastValue));
|
||||
REQUIRE(s == u"foo bar");
|
||||
delete script;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user