Files
llgo/_demo/go/issue1370_case1/main.go
xgopilot 902ac3b35a test(demo): restructure issue #1370 regression tests to match maphash style
- Remove temporary .tmp-comment/ and .tmp-images/ directories
- Remove llgo binary from repository
- Refactor _demo/go/issue1370_case1 to include multiple test functions with proper validation
- Refactor _demo/go/issue1370_case2 to include multiple test functions with proper validation
- Tests now panic on failure with descriptive error messages
- Follow the same test structure as _demo/go/maphash

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 13:41:40 +00:00

59 lines
1.5 KiB
Go

package main
import (
"fmt"
"go/types"
)
func main() {
testScopeInsertLookup()
testScopeLookupNonExistent()
testScopeMultipleObjects()
}
func testScopeInsertLookup() {
fmt.Println("=== Test Scope Insert and Lookup ===")
scope := types.NewScope(nil, 0, 0, "test")
obj := types.NewVar(0, nil, "x", types.Typ[types.Int])
scope.Insert(obj)
result := scope.Lookup("x")
if result != obj {
panic(fmt.Sprintf("Lookup returned wrong object: expected %v, got %v", obj, result))
}
fmt.Println("SUCCESS: Scope.Insert and Lookup work correctly")
}
func testScopeLookupNonExistent() {
fmt.Println("\n=== Test Scope Lookup Non-Existent ===")
scope := types.NewScope(nil, 0, 0, "test")
result := scope.Lookup("nonexistent")
if result != nil {
panic(fmt.Sprintf("Lookup should return nil for non-existent name, got %v", result))
}
fmt.Println("SUCCESS: Lookup returns nil for non-existent name")
}
func testScopeMultipleObjects() {
fmt.Println("\n=== Test Scope Multiple Objects ===")
scope := types.NewScope(nil, 0, 0, "test")
obj1 := types.NewVar(0, nil, "x", types.Typ[types.Int])
obj2 := types.NewVar(0, nil, "y", types.Typ[types.String])
scope.Insert(obj1)
scope.Insert(obj2)
result1 := scope.Lookup("x")
if result1 != obj1 {
panic(fmt.Sprintf("Lookup('x') returned wrong object: expected %v, got %v", obj1, result1))
}
result2 := scope.Lookup("y")
if result2 != obj2 {
panic(fmt.Sprintf("Lookup('y') returned wrong object: expected %v, got %v", obj2, result2))
}
fmt.Println("SUCCESS: Multiple objects handled correctly")
}