(t *testing.T)
| 48 | } |
| 49 | |
| 50 | func TestDetectWith(t *testing.T) { |
| 51 | tests := []struct { |
| 52 | name string |
| 53 | env map[string]string |
| 54 | wantAgent AgentName |
| 55 | }{ |
| 56 | { |
| 57 | name: "clean environment", |
| 58 | env: map[string]string{}, |
| 59 | wantAgent: "", |
| 60 | }, |
| 61 | { |
| 62 | name: "empty var is not detected", |
| 63 | env: map[string]string{"GEMINI_CLI": ""}, |
| 64 | wantAgent: "", |
| 65 | }, |
| 66 | { |
| 67 | name: "AGENT=amp detected as amp", |
| 68 | env: map[string]string{"AGENT": "amp"}, |
| 69 | wantAgent: "amp", |
| 70 | }, |
| 71 | { |
| 72 | name: "AGENT with non-amp value is ignored", |
| 73 | env: map[string]string{"AGENT": "other"}, |
| 74 | wantAgent: "", |
| 75 | }, |
| 76 | { |
| 77 | name: "AI_AGENT returns value as agent name", |
| 78 | env: map[string]string{"AI_AGENT": "some-agent"}, |
| 79 | wantAgent: "some-agent", |
| 80 | }, |
| 81 | { |
| 82 | name: "AI_AGENT with invalid characters is ignored", |
| 83 | env: map[string]string{"AI_AGENT": "bad\nagent"}, |
| 84 | wantAgent: "", |
| 85 | }, |
| 86 | { |
| 87 | name: "AI_AGENT with spaces is ignored", |
| 88 | env: map[string]string{"AI_AGENT": "bad agent"}, |
| 89 | wantAgent: "", |
| 90 | }, |
| 91 | { |
| 92 | name: "AI_AGENT takes priority over AGENT", |
| 93 | env: map[string]string{"AGENT": "amp", "AI_AGENT": "other"}, |
| 94 | wantAgent: "other", |
| 95 | }, |
| 96 | { |
| 97 | name: "CODEX_SANDBOX", |
| 98 | env: map[string]string{"CODEX_SANDBOX": "seatbelt"}, |
| 99 | wantAgent: "codex", |
| 100 | }, |
| 101 | { |
| 102 | name: "CODEX_CI", |
| 103 | env: map[string]string{"CODEX_CI": "1"}, |
| 104 | wantAgent: "codex", |
| 105 | }, |
| 106 | { |
| 107 | name: "CODEX_THREAD_ID", |
nothing calls this directly
no test coverage detected