(t *testing.T)
| 123 | } |
| 124 | |
| 125 | func TestGenerateWorkflowHeader_WithReleaseFlag(t *testing.T) { |
| 126 | // Save original state |
| 127 | originalVersion := compilerVersion |
| 128 | originalIsRelease := isReleaseBuild |
| 129 | defer func() { |
| 130 | compilerVersion = originalVersion |
| 131 | isReleaseBuild = originalIsRelease |
| 132 | }() |
| 133 | |
| 134 | tests := []struct { |
| 135 | name string |
| 136 | version string |
| 137 | isRelease bool |
| 138 | shouldHaveVersion bool |
| 139 | description string |
| 140 | }{ |
| 141 | { |
| 142 | name: "Release build with valid version", |
| 143 | version: "1.0.0", |
| 144 | isRelease: true, |
| 145 | shouldHaveVersion: true, |
| 146 | description: "Release build should include version in header", |
| 147 | }, |
| 148 | { |
| 149 | name: "Dev build with valid version", |
| 150 | version: "1.0.0", |
| 151 | isRelease: false, |
| 152 | shouldHaveVersion: false, |
| 153 | description: "Non-release build should not include version", |
| 154 | }, |
| 155 | { |
| 156 | name: "Dev build with dev version", |
| 157 | version: "dev", |
| 158 | isRelease: false, |
| 159 | shouldHaveVersion: false, |
| 160 | description: "Non-release build with 'dev' version should not include version", |
| 161 | }, |
| 162 | { |
| 163 | name: "Release build with dev version", |
| 164 | version: "dev", |
| 165 | isRelease: true, |
| 166 | shouldHaveVersion: true, |
| 167 | description: "Release build should include version even if it says 'dev'", |
| 168 | }, |
| 169 | } |
| 170 | |
| 171 | for _, tt := range tests { |
| 172 | t.Run(tt.name, func(t *testing.T) { |
| 173 | SetVersion(tt.version) |
| 174 | SetIsRelease(tt.isRelease) |
| 175 | header := GenerateWorkflowHeader("test.md", "gh-aw", "") |
| 176 | |
| 177 | hasVersion := strings.Contains(header, "("+tt.version+")") |
| 178 | if hasVersion != tt.shouldHaveVersion { |
| 179 | t.Errorf("Header version inclusion = %v, want %v\n%s\nHeader:\n%s", |
| 180 | hasVersion, tt.shouldHaveVersion, tt.description, header) |
| 181 | } |
| 182 | }) |
nothing calls this directly
no test coverage detected