diff --git a/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.jsx b/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.jsx
new file mode 100644
index 0000000000000..425799304166e
--- /dev/null
+++ b/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.jsx
@@ -0,0 +1,2 @@
+let Component = () =>
;
+
\ No newline at end of file
diff --git a/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.snap b/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.snap
new file mode 100644
index 0000000000000..c98655bc0197b
--- /dev/null
+++ b/crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.snap
@@ -0,0 +1,42 @@
+---
+source: crates/oxc_semantic/tests/main.rs
+input_file: crates/oxc_semantic/tests/fixtures/oxc/jsx/element-name.jsx
+---
+[
+ {
+ "children": [
+ {
+ "children": [],
+ "flags": "ScopeFlags(StrictMode | Function | Arrow)",
+ "id": 1,
+ "node": "ArrowFunctionExpression",
+ "symbols": []
+ }
+ ],
+ "flags": "ScopeFlags(StrictMode | Top)",
+ "id": 0,
+ "node": "Program",
+ "symbols": [
+ {
+ "flags": "SymbolFlags(BlockScopedVariable | ArrowFunction)",
+ "id": 0,
+ "name": "Component",
+ "node": "VariableDeclarator(Component)",
+ "references": [
+ {
+ "flags": "ReferenceFlags(Read)",
+ "id": 0,
+ "name": "Component",
+ "node_id": 19
+ },
+ {
+ "flags": "ReferenceFlags(Read)",
+ "id": 1,
+ "name": "Component",
+ "node_id": 22
+ }
+ ]
+ }
+ ]
+ }
+]
diff --git a/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.jsx b/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.jsx
new file mode 100644
index 0000000000000..1fcb119f0ce98
--- /dev/null
+++ b/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.jsx
@@ -0,0 +1,3 @@
+let A = {};
+
+;
\ No newline at end of file
diff --git a/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.snap b/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.snap
new file mode 100644
index 0000000000000..de924281f8e89
--- /dev/null
+++ b/crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.snap
@@ -0,0 +1,34 @@
+---
+source: crates/oxc_semantic/tests/main.rs
+input_file: crates/oxc_semantic/tests/fixtures/oxc/jsx/member-expression.jsx
+---
+[
+ {
+ "children": [],
+ "flags": "ScopeFlags(StrictMode | Top)",
+ "id": 0,
+ "node": "Program",
+ "symbols": [
+ {
+ "flags": "SymbolFlags(BlockScopedVariable)",
+ "id": 0,
+ "name": "A",
+ "node": "VariableDeclarator(A)",
+ "references": [
+ {
+ "flags": "ReferenceFlags(Read)",
+ "id": 0,
+ "name": "A",
+ "node_id": 13
+ },
+ {
+ "flags": "ReferenceFlags(Read)",
+ "id": 1,
+ "name": "A",
+ "node_id": 22
+ }
+ ]
+ }
+ ]
+ }
+]
diff --git a/crates/oxc_semantic/tests/main.rs b/crates/oxc_semantic/tests/main.rs
index 31cf59a1cdf55..dde2cca803bb2 100644
--- a/crates/oxc_semantic/tests/main.rs
+++ b/crates/oxc_semantic/tests/main.rs
@@ -111,7 +111,7 @@ fn analyze(path: &Path, source_text: &str) -> String {
/// cargo test --package oxc_semantic --test main
#[test]
fn main() {
- insta::glob!("fixtures/**/*.{ts,tsx}", |path| {
+ insta::glob!("fixtures/**/*.{js,jsx,ts,tsx}", |path| {
let source_text = fs::read_to_string(path).unwrap();
let snapshot = analyze(path, &source_text);
let name = path.file_stem().unwrap().to_str().unwrap();