b44660ac3d
This makes sorting flags and other sections consistent with how most command line tools function, by placing both flags `-A` and `-a` before a flag `-B`.
31 lines
587 B
Go
31 lines
587 B
Go
package cli
|
|
|
|
import "testing"
|
|
|
|
var lexicographicLessTests = []struct {
|
|
i string
|
|
j string
|
|
expected bool
|
|
}{
|
|
{"", "a", true},
|
|
{"a", "", false},
|
|
{"a", "a", false},
|
|
{"a", "A", false},
|
|
{"A", "a", true},
|
|
{"aa", "a", false},
|
|
{"a", "aa", true},
|
|
{"a", "b", true},
|
|
{"a", "B", true},
|
|
{"A", "b", true},
|
|
{"A", "B", true},
|
|
}
|
|
|
|
func TestLexicographicLess(t *testing.T) {
|
|
for _, test := range lexicographicLessTests {
|
|
actual := lexicographicLess(test.i, test.j)
|
|
if test.expected != actual {
|
|
t.Errorf(`expected string "%s" to come before "%s"`, test.i, test.j)
|
|
}
|
|
}
|
|
}
|