Skip to content

Commit 2670f48

Browse files
authored
Fix a bug on sorting, which cause Pack don't work as expected (#9)
1 parent 067bca3 commit 2670f48

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# CHANGELOG
22

3+
## 2.0.2 (2023-04-18)
4+
5+
* Fix a bug on sorting, which cause `Pack` don't work as expected
6+
37
## 2.0.1 (2023-04-18)
48

59
* Fix slice access out of bound error

v2/pack.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func (h *host) Less(rhs *host) bool {
241241
}
242242

243243
m = min(len(h.Digits), len(rhs.Digits))
244-
for i := 0; i < m; i++ {
244+
for i := m - 1; i >= 0; i-- {
245245
if h.Digits[i].Digit < rhs.Digits[i].Digit {
246246
return true
247247
}

v2/pack_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,27 @@ func TestPack(t *testing.T) {
2121
{[]string{"abc101z-02", "abc102z-02", "abc102z-03"}, []string{"abc[101-102]z-02", "abc102z-03"}},
2222
{[]string{"abc101z-01", "abc102z-02", "abc102z-03"}, []string{"abc101z-01", "abc102z-[02-03]"}},
2323
{[]string{"abc101z-01p", "abc101z-01q", "abc102z-01p", "abc102z-01q"}, []string{"abc[101-102]z-01p", "abc[101-102]z-01q"}},
24+
{[]string{
25+
"abc101z-01p",
26+
"abc101z-01q",
27+
"abc102z-01p",
28+
"abc102z-01q",
29+
"abc101z-02p",
30+
"abc101z-02q",
31+
"abc102z-02p",
32+
"abc102z-02q",
33+
"abc101z-03p",
34+
"abc101z-04p",
35+
"abc102z-03q",
36+
"abc102z-04q",
37+
}, []string{
38+
"abc[101-102]z-01p",
39+
"abc[101-102]z-02p",
40+
"abc101z-[03-04]p",
41+
"abc[101-102]z-01q",
42+
"abc[101-102]z-02q",
43+
"abc102z-[03-04]q",
44+
}},
2445
}
2546
for _, test := range cases {
2647
test := test

0 commit comments

Comments
 (0)