[poincare/parser] Add context

This commit is contained in:
Léa Saviot
2020-01-16 11:13:22 +01:00
parent 158a45e94d
commit 756eeeb2d8
38 changed files with 182 additions and 156 deletions

View File

@@ -41,7 +41,8 @@ void assert_text_not_parsable(const char * text) {
}
void assert_parsed_expression_is(const char * expression, Poincare::Expression r, bool addParentheses = false) {
Expression e = parse_expression(expression, addParentheses);
Shared::GlobalContext context;
Expression e = parse_expression(expression, &context, addParentheses);
quiz_assert_print_if_failure(e.isIdenticalTo(r), expression);
}
@@ -90,7 +91,7 @@ QUIZ_CASE(poincare_parsing_memory_exhaustion) {
if (ExceptionRun(ecp)) {
Addition a = Addition::Builder();
while (true) {
Expression e = Expression::Parse("1+2+3+4+5+6+7+8+9+10");
Expression e = Expression::Parse("1+2+3+4+5+6+7+8+9+10", nullptr);
a.addChildAtIndexInPlace(e, 0, a.numberOfChildren());
}
} else {
@@ -101,7 +102,7 @@ QUIZ_CASE(poincare_parsing_memory_exhaustion) {
quiz_assert(memoryFailureHasBeenHandled);
assert_pool_size(initialPoolSize);
Expression e = Expression::Parse("1+1");
Expression e = Expression::Parse("1+1", nullptr);
/* Stupid check to make sure the global variable generated by Bison is not
* ruining everything */
}