Chromium Code Reviews| Index: test/cctest/test-parsing.cc | 
| diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc | 
| index 767393e04bc7843a24c5c572755c4a93ddab77da..16ce3f71d432fdcb96368769a35b3bbb12c0ef01 100644 | 
| --- a/test/cctest/test-parsing.cc | 
| +++ b/test/cctest/test-parsing.cc | 
| @@ -7837,3 +7837,33 @@ TEST(TypedModeBindingPatterns) { | 
| RunParserSyncTest(typed_context_data, error_data, kError, NULL, 0, | 
| always_flags, arraysize(always_flags)); | 
| } | 
| + | 
| +TEST(TypedModeTypeAliases) { | 
| + const char* untyped_context_data[][2] = {{"", ""}, {NULL, NULL}}; | 
| + const char* typed_context_data[][2] = {{"'use types'; ", ""}, {NULL, NULL}}; | 
| + | 
| + const char* correct_data[] = { | 
| + "type NumArray = number[]", | 
| + "type Fun = (x: number) => number", | 
| + "type Tree<A> = A | Tree<A>[]", | 
| + NULL | 
| + }; | 
| + | 
| + const char* error_data[] = { | 
| + "type Err<> = number", | 
| 
 
rossberg
2016/04/18 09:27:43
How about "type", with no identifier following.
 
nickie
2016/04/19 13:52:51
Done.
We agreed that "type = number" should parse
 
 | 
| + "type Err", | 
| + "type Err =", | 
| + "type Err = ()", | 
| + NULL | 
| + }; | 
| + | 
| + static const ParserFlag always_flags[] = {kAllowTypes}; | 
| + RunParserSyncTest(untyped_context_data, correct_data, kError, NULL, 0, | 
| + always_flags, arraysize(always_flags)); | 
| + RunParserSyncTest(typed_context_data, correct_data, kSuccess, NULL, 0, | 
| + always_flags, arraysize(always_flags)); | 
| + RunParserSyncTest(untyped_context_data, error_data, kError, NULL, 0, | 
| + always_flags, arraysize(always_flags)); | 
| + RunParserSyncTest(typed_context_data, error_data, kError, NULL, 0, | 
| + always_flags, arraysize(always_flags)); | 
| +} |