diff --git a/crates/oxc_transformer/src/jsx/jsx_impl.rs b/crates/oxc_transformer/src/jsx/jsx_impl.rs index aa35d411d68538..fa0c6c472cbeff 100644 --- a/crates/oxc_transformer/src/jsx/jsx_impl.rs +++ b/crates/oxc_transformer/src/jsx/jsx_impl.rs @@ -1090,17 +1090,17 @@ mod test { let mut traverse_ctx = unsafe { ReusableTraverseCtx::new(ScopeTree::default(), SymbolTable::default(), &alloc).unwrap() }; - let pragma = Pragma::parse(Some(&"this.a.b".to_string()), "createElement", ast, &ctx); + let pragma = Pragma::parse(Some(&"this.a.b".to_string()), "createElement", ast, &ctx); let expr = pragma.create_expression(&mut traverse_ctx); - let member_expr = expr.as_member_expression().unwrap(); - assert_eq!(member_expr.static_property_name(), Some("b")); - let object = member_expr.object().as_member_expression().unwrap(); - assert_eq!(object.static_property_name(), Some("a")); - match object.object() { - Expression::ThisExpression(_) => {} - _ => panic!("Expected ThisExpression"), - } + + let Expression::StaticMemberExpression(outer_member) = &expr else { panic!() }; + let Expression::StaticMemberExpression(inner_member) = &outer_member.object else { + panic!() + }; + assert!(matches!(&inner_member.object, Expression::ThisExpression(_))); + assert_eq!(inner_member.property.name, "a"); + assert_eq!(outer_member.property.name, "b"); } #[test] @@ -1112,15 +1112,15 @@ mod test { let mut traverse_ctx = unsafe { ReusableTraverseCtx::new(ScopeTree::default(), SymbolTable::default(), &alloc).unwrap() }; + let pragma = Pragma::parse(Some(&"import.meta.prop".to_string()), "createElement", ast, &ctx); - let expr = pragma.create_expression(&mut traverse_ctx); - let member_expr = expr.as_member_expression().unwrap(); - assert_eq!(member_expr.static_property_name(), Some("prop")); - match member_expr.object() { - Expression::MetaProperty(_) => {} - _ => panic!("Expected MetaProperty"), - } + + let Expression::StaticMemberExpression(member) = &expr else { panic!() }; + let Expression::MetaProperty(meta_prop) = &member.object else { panic!() }; + assert_eq!(&meta_prop.meta.name, "import"); + assert_eq!(&meta_prop.property.name, "meta"); + assert_eq!(member.property.name, "prop"); } }