| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- // Copyright 2020 The Gogs Authors. All rights reserved.
 
- // Use of this source code is governed by a MIT-style
 
- // license that can be found in the LICENSE file.
 
- package strutil
 
- import (
 
- 	"testing"
 
- 	"github.com/stretchr/testify/assert"
 
- )
 
- func TestToUpperFirst(t *testing.T) {
 
- 	tests := []struct {
 
- 		name   string
 
- 		s      string
 
- 		expStr string
 
- 	}{
 
- 		{
 
- 			name: "empty string",
 
- 		},
 
- 		{
 
- 			name:   "first letter is a digit",
 
- 			s:      "123 let's go",
 
- 			expStr: "123 let's go",
 
- 		},
 
- 		{
 
- 			name:   "lower to upper",
 
- 			s:      "this is a sentence",
 
- 			expStr: "This is a sentence",
 
- 		},
 
- 		{
 
- 			name:   "already in upper case",
 
- 			s:      "Let's go",
 
- 			expStr: "Let's go",
 
- 		},
 
- 	}
 
- 	for _, test := range tests {
 
- 		t.Run(test.name, func(t *testing.T) {
 
- 			assert.Equal(t, test.expStr, ToUpperFirst(test.s))
 
- 		})
 
- 	}
 
- }
 
- func TestRandomChars(t *testing.T) {
 
- 	cache := make(map[string]bool)
 
- 	for i := 0; i < 100; i++ {
 
- 		chars, err := RandomChars(10)
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if cache[chars] {
 
- 			t.Fatalf("Duplicated chars %q", chars)
 
- 		}
 
- 		cache[chars] = true
 
- 	}
 
- }
 
- func TestEllipsis(t *testing.T) {
 
- 	tests := []struct {
 
- 		name      string
 
- 		str       string
 
- 		threshold int
 
- 		want      string
 
- 	}{
 
- 		{
 
- 			name:      "empty string and zero threshold",
 
- 			str:       "",
 
- 			threshold: 0,
 
- 			want:      "",
 
- 		},
 
- 		{
 
- 			name:      "smaller length than threshold",
 
- 			str:       "ab",
 
- 			threshold: 3,
 
- 			want:      "ab",
 
- 		},
 
- 		{
 
- 			name:      "same length as threshold",
 
- 			str:       "abc",
 
- 			threshold: 3,
 
- 			want:      "abc",
 
- 		},
 
- 		{
 
- 			name:      "greater length than threshold",
 
- 			str:       "ab",
 
- 			threshold: 1,
 
- 			want:      "a...",
 
- 		},
 
- 	}
 
- 	for _, test := range tests {
 
- 		t.Run(test.name, func(t *testing.T) {
 
- 			got := Ellipsis(test.str, test.threshold)
 
- 			assert.Equal(t, test.want, got)
 
- 		})
 
- 	}
 
- }
 
 
  |