strings_test.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package util
  2. import (
  3. "testing"
  4. "time"
  5. . "github.com/smartystreets/goconvey/convey"
  6. )
  7. func TestStringsUtil(t *testing.T) {
  8. Convey("Falling back until none empty string", t, func() {
  9. So(StringsFallback2("1", "2"), ShouldEqual, "1")
  10. So(StringsFallback2("", "2"), ShouldEqual, "2")
  11. So(StringsFallback3("", "", "3"), ShouldEqual, "3")
  12. })
  13. }
  14. func TestSplitString(t *testing.T) {
  15. Convey("Splits strings correctly", t, func() {
  16. So(SplitString(""), ShouldResemble, []string{})
  17. So(SplitString("test"), ShouldResemble, []string{"test"})
  18. So(SplitString("test1 test2 test3"), ShouldResemble, []string{"test1", "test2", "test3"})
  19. So(SplitString("test1,test2,test3"), ShouldResemble, []string{"test1", "test2", "test3"})
  20. So(SplitString("test1, test2, test3"), ShouldResemble, []string{"test1", "test2", "test3"})
  21. So(SplitString("test1 , test2 test3"), ShouldResemble, []string{"test1", "test2", "test3"})
  22. })
  23. }
  24. func TestDateAge(t *testing.T) {
  25. Convey("GetAgeString", t, func() {
  26. So(GetAgeString(time.Time{}), ShouldEqual, "?")
  27. So(GetAgeString(time.Now().Add(-time.Second*2)), ShouldEqual, "< 1m")
  28. So(GetAgeString(time.Now().Add(-time.Minute*2)), ShouldEqual, "2m")
  29. So(GetAgeString(time.Now().Add(-time.Hour*2)), ShouldEqual, "2h")
  30. So(GetAgeString(time.Now().Add(-time.Hour*24*3)), ShouldEqual, "3d")
  31. So(GetAgeString(time.Now().Add(-time.Hour*24*67)), ShouldEqual, "2M")
  32. So(GetAgeString(time.Now().Add(-time.Hour*24*409)), ShouldEqual, "1y")
  33. })
  34. }
  35. func TestToCamelCase(t *testing.T) {
  36. Convey("ToCamelCase", t, func() {
  37. So(ToCamelCase("kebab-case-string"), ShouldEqual, "kebabCaseString")
  38. So(ToCamelCase("snake_case_string"), ShouldEqual, "snakeCaseString")
  39. So(ToCamelCase("mixed-case_string"), ShouldEqual, "mixedCaseString")
  40. So(ToCamelCase("alreadyCamelCase"), ShouldEqual, "alreadyCamelCase")
  41. })
  42. }