upgrade_test.go 1.9 KB

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