upgrade_test.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //go:build !integration
  2. // +build !integration
  3. package upgrade
  4. import (
  5. "testing"
  6. "github.com/Jguer/yay/v12/pkg/query"
  7. "github.com/Jguer/yay/v12/pkg/text"
  8. )
  9. func TestGetVersionDiff(t *testing.T) {
  10. text.UseColor = true
  11. type versionPair struct {
  12. Old string
  13. New string
  14. }
  15. in := []versionPair{
  16. {"1-1", "1-1"},
  17. {"1-1", "2-1"},
  18. {"2-1", "1-1"},
  19. {"1-1", "1-2"},
  20. {"1-2", "1-1"},
  21. {"1.2.3-1", "1.2.4-1"},
  22. {"1.8rc1+6+g0f377f94-1", "1.8rc1+1+g7e949283-1"},
  23. {"1.8rc1+6+g0f377f94-1", "1.8rc2+1+g7e949283-1"},
  24. {"1.8rc2", "1.9rc1"},
  25. {"2.99.917+812+g75795523-1", "2.99.917+823+gd9bf46e4-1"},
  26. {"1.2.9-1", "1.2.10-1"},
  27. {"1.2.10-1", "1.2.9-1"},
  28. {"1.2-1", "1.2.1-1"},
  29. {"1.2.1-1", "1.2-1"},
  30. {"0.7-4", "0.7+4+gd8d8c67-1"},
  31. {"1.0.2_r0-1", "1.0.2_r0-2"},
  32. {"1.0.2_r0-1", "1.0.2_r1-1"},
  33. {"1.0.2_r0-1", "1.0.3_r0-1"},
  34. }
  35. out := []versionPair{
  36. {"1-1" + text.Red(""), "1-1" + text.Green("")},
  37. {text.Red("1-1"), text.Green("2-1")},
  38. {text.Red("2-1"), text.Green("1-1")},
  39. {"1-" + text.Red("1"), "1-" + text.Green("2")},
  40. {"1-" + text.Red("2"), "1-" + text.Green("1")},
  41. {"1.2." + text.Red("3-1"), "1.2." + text.Green("4-1")},
  42. {"1.8rc1+" + text.Red("6+g0f377f94-1"), "1.8rc1+" + text.Green("1+g7e949283-1")},
  43. {"1.8" + text.Red("rc1+6+g0f377f94-1"), "1.8" + text.Green("rc2+1+g7e949283-1")},
  44. {"1." + text.Red("8rc2"), "1." + text.Green("9rc1")},
  45. {"2.99.917+" + text.Red("812+g75795523-1"), "2.99.917+" + text.Green("823+gd9bf46e4-1")},
  46. {"1.2." + text.Red("9-1"), "1.2." + text.Green("10-1")},
  47. {"1.2." + text.Red("10-1"), "1.2." + text.Green("9-1")},
  48. {"1.2" + text.Red("-1"), "1.2" + text.Green(".1-1")},
  49. {"1.2" + text.Red(".1-1"), "1.2" + text.Green("-1")},
  50. {"0.7" + text.Red("-4"), "0.7" + text.Green("+4+gd8d8c67-1")},
  51. {"1.0.2_r0-" + text.Red("1"), "1.0.2_r0-" + text.Green("2")},
  52. {"1.0.2_" + text.Red("r0-1"), "1.0.2_" + text.Green("r1-1")},
  53. {"1.0." + text.Red("2_r0-1"), "1.0." + text.Green("3_r0-1")},
  54. }
  55. for i, pair := range in {
  56. o, n := query.GetVersionDiff(pair.Old, pair.New)
  57. if o != out[i].Old || n != out[i].New {
  58. t.Errorf("Test %-2d failed for update: expected (%s => %s) got (%s => %s) %d %d %d %d",
  59. i+1, out[i].Old, out[i].New, o, n, len(out[i].Old), len(out[i].New), len(o), len(n))
  60. }
  61. }
  62. }