MCPcopy Create free account
hub / github.com/php/frankenphp / TestNamespacedClassName

Function TestNamespacedClassName

internal/extgen/cfile_namespace_test.go:11–50  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestNamespacedClassName(t *testing.T) {
12 tests := []struct {
13 name string
14 namespace string
15 className string
16 expected string
17 }{
18 {
19 name: "no namespace",
20 namespace: "",
21 className: "MySuperClass",
22 expected: "MySuperClass",
23 },
24 {
25 name: "single level namespace",
26 namespace: "MyNamespace",
27 className: "MySuperClass",
28 expected: "MyNamespace_MySuperClass",
29 },
30 {
31 name: "multi level namespace",
32 namespace: `Go\Extension`,
33 className: "MySuperClass",
34 expected: "Go_Extension_MySuperClass",
35 },
36 {
37 name: "deep namespace",
38 namespace: `My\Deep\Nested\Namespace`,
39 className: "TestClass",
40 expected: "My_Deep_Nested_Namespace_TestClass",
41 },
42 }
43
44 for _, tt := range tests {
45 t.Run(tt.name, func(t *testing.T) {
46 result := NamespacedName(tt.namespace, tt.className)
47 require.Equal(t, tt.expected, result, "expected %q, got %q", tt.expected, result)
48 })
49 }
50}
51
52func TestCFileGenerationWithNamespace(t *testing.T) {
53 content := `package main

Callers

nothing calls this directly

Calls 1

NamespacedNameFunction · 0.85

Tested by

no test coverage detected