(t *testing.T)
| 169 | } |
| 170 | |
| 171 | func TestReverseCmd_With_Dev(t *testing.T) { |
| 172 | // Cleanup. |
| 173 | dirs.RemoveAllForTest() |
| 174 | |
| 175 | // Check error. |
| 176 | check := func(err error) { |
| 177 | t.Helper() |
| 178 | if err != nil { |
| 179 | t.Fatal(err) |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | // Helper function to check if two slices are equal (order-insensitive) |
| 184 | equals := func(list1, list2 []string) bool { |
| 185 | if len(list1) != len(list2) { |
| 186 | return false |
| 187 | } |
| 188 | for _, item := range list1 { |
| 189 | if !slices.Contains(list2, item) { |
| 190 | return false |
| 191 | } |
| 192 | } |
| 193 | return true |
| 194 | } |
| 195 | |
| 196 | // Init celer. |
| 197 | celer := configs.NewCeler() |
| 198 | check(celer.Init()) |
| 199 | check(celer.CloneConf(test_conf_repo_url, test_conf_repo_branch, true)) |
| 200 | check(celer.SetBuildType("Release")) |
| 201 | |
| 202 | // Search as default mode. |
| 203 | cmdReverse := reverseCmd{celer: celer} |
| 204 | dependencies, err := cmdReverse.query("nasm@2.16.03") |
| 205 | check(err) |
| 206 | if len(dependencies) > 0 { |
| 207 | t.Fatalf("expected no dependencies, but got %s", dependencies) |
| 208 | } |
| 209 | |
| 210 | // Search as dev mode. |
| 211 | cmdReverse.dev = true |
| 212 | dependencies, err = cmdReverse.query("nasm@2.16.03") |
| 213 | check(err) |
| 214 | expected := []string{ |
| 215 | "ffmpeg@3.4.13", |
| 216 | "ffmpeg@5.1.6", |
| 217 | "openssl@3.5.0", |
| 218 | "x264@stable", |
| 219 | "x265@4.1", |
| 220 | } |
| 221 | if !equals(dependencies, expected) { |
| 222 | t.Fatalf("expected %s, but got %s", expected, dependencies) |
| 223 | } |
| 224 | |
| 225 | // Verify results are sorted |
| 226 | for i := 1; i < len(dependencies); i++ { |
| 227 | if strings.Compare(dependencies[i-1], dependencies[i]) > 0 { |
| 228 | t.Errorf("results are not sorted: %v", dependencies) |
nothing calls this directly
no test coverage detected