(t *testing.T)
| 9 | ) |
| 10 | |
| 11 | func 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 | |
| 52 | func TestCFileGenerationWithNamespace(t *testing.T) { |
| 53 | content := `package main |
nothing calls this directly
no test coverage detected