| Index: test/cctest/test-ast-expression-visitor.cc
|
| diff --git a/test/cctest/test-ast-expression-visitor.cc b/test/cctest/test-ast-expression-visitor.cc
|
| index f2709639e3570c402b423ad6646171ff1d5b3d0d..bee0a73de1b0eeefbea0828c242028123e72a27b 100644
|
| --- a/test/cctest/test-ast-expression-visitor.cc
|
| +++ b/test/cctest/test-ast-expression-visitor.cc
|
| @@ -256,3 +256,44 @@ TEST(VisitExpressions) {
|
| }
|
| CHECK_TYPES_END
|
| }
|
| +
|
| +
|
| +TEST(VisitEmptyForStatment) {
|
| + v8::V8::Initialize();
|
| + HandleAndZoneScope handles;
|
| + ZoneVector<ExpressionTypeEntry> types(handles.main_zone());
|
| + // Check that traversing an empty for statement works.
|
| + const char test_function[] =
|
| + "function foo() {\n"
|
| + " for (;;) {}\n"
|
| + "}\n";
|
| + CollectTypes(&handles, test_function, &types);
|
| + CHECK_TYPES_BEGIN {
|
| + CHECK_EXPR(FunctionLiteral, DEFAULT_TYPE) {}
|
| + }
|
| + CHECK_TYPES_END
|
| +}
|
| +
|
| +
|
| +TEST(VisitSwitchStatment) {
|
| + v8::V8::Initialize();
|
| + HandleAndZoneScope handles;
|
| + ZoneVector<ExpressionTypeEntry> types(handles.main_zone());
|
| + // Check that traversing a switch with a default works.
|
| + const char test_function[] =
|
| + "function foo() {\n"
|
| + " switch (0) { case 1: break; default: break; }\n"
|
| + "}\n";
|
| + CollectTypes(&handles, test_function, &types);
|
| + CHECK_TYPES_BEGIN {
|
| + CHECK_EXPR(FunctionLiteral, DEFAULT_TYPE) {
|
| + CHECK_EXPR(Assignment, DEFAULT_TYPE) {
|
| + CHECK_VAR(.switch_tag, DEFAULT_TYPE);
|
| + CHECK_EXPR(Literal, DEFAULT_TYPE);
|
| + }
|
| + CHECK_VAR(.switch_tag, DEFAULT_TYPE);
|
| + CHECK_EXPR(Literal, DEFAULT_TYPE);
|
| + }
|
| + }
|
| + CHECK_TYPES_END
|
| +}
|
|
|