From 4b274a8e6feaa9756924da5fb277489c6f6b24a6 Mon Sep 17 00:00:00 2001 From: DonIsaac <22823424+DonIsaac@users.noreply.github.com> Date: Wed, 24 Jul 2024 16:58:09 +0000 Subject: [PATCH] test(semantic): add more test cases for symbol references (#4429) --- .../oxc_semantic/tests/integration/symbols.rs | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/crates/oxc_semantic/tests/integration/symbols.rs b/crates/oxc_semantic/tests/integration/symbols.rs index 1b21f10d5603a..14274cc813448 100644 --- a/crates/oxc_semantic/tests/integration/symbols.rs +++ b/crates/oxc_semantic/tests/integration/symbols.rs @@ -1,4 +1,4 @@ -use oxc_semantic::SymbolFlags; +use oxc_semantic::{Reference, SymbolFlags}; use crate::util::SemanticTester; @@ -55,6 +55,18 @@ fn test_var_read_write() { .has_number_of_writes(1) .test(); + SemanticTester::js("let x = 0; let foo = (0, x++)") + .has_some_symbol("x") + .has_number_of_reads(1) + .has_number_of_writes(1) + .test(); + + SemanticTester::js("let x = 0; x++") + .has_some_symbol("x") + .has_number_of_reads(0) + .has_number_of_writes(1) + .test(); + SemanticTester::js("let a; let b = 1 + (0, ((a)));") .has_some_symbol("a") .has_number_of_reads(1) @@ -96,6 +108,20 @@ fn test_types_simple() { .contains_flags(SymbolFlags::TypeAlias) .has_number_of_references(1) .test(); + + SemanticTester::ts("function foo(): T { }") + .has_some_symbol("T") + .contains_flags(SymbolFlags::TypeParameter) + .has_number_of_references(1) + .has_number_of_references_where(1, oxc_semantic::Reference::is_type) + .test(); + + SemanticTester::ts("function foo(a: T): void {}") + .has_some_symbol("T") + .contains_flags(SymbolFlags::TypeParameter) + .has_number_of_references(1) + .has_number_of_references_where(1, Reference::is_type) + .test(); } #[test]