@@ -123,6 +123,32 @@ TEST_F(Test_Parse_Decorator, export_default_class_decorator) {
123
123
}
124
124
}
125
125
126
+ TEST_F (Test_Parse_Decorator, class_expression_decorator) {
127
+ {
128
+ Spy_Visitor p = test_parse_and_visit_statement (
129
+ u8" (@myDecorator class C {});" _sv, no_diags, javascript_options);
130
+ EXPECT_THAT (p.visits , ElementsAreArray ({
131
+ " visit_variable_use" , // myDecorator
132
+ " visit_enter_class_scope" , // C
133
+ " visit_enter_class_scope_body" , // {
134
+ " visit_exit_class_scope" , // }
135
+ }));
136
+ EXPECT_THAT (p.variable_uses , ElementsAreArray ({u8" myDecorator" _sv}));
137
+ }
138
+
139
+ {
140
+ Spy_Visitor p = test_parse_and_visit_statement (
141
+ u8" (@myDecorator class {});" _sv, no_diags, javascript_options);
142
+ EXPECT_THAT (p.visits , ElementsAreArray ({
143
+ " visit_variable_use" , // myDecorator
144
+ " visit_enter_class_scope" , // class
145
+ " visit_enter_class_scope_body" , // {
146
+ " visit_exit_class_scope" , // }
147
+ }));
148
+ EXPECT_THAT (p.variable_uses , ElementsAreArray ({u8" myDecorator" _sv}));
149
+ }
150
+ }
151
+
126
152
TEST_F (Test_Parse_Decorator,
127
153
private_identifiers_are_allowed_as_property_names) {
128
154
Spy_Visitor p = test_parse_and_visit_statement (
0 commit comments