mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 11:07:18 -04:00 
			
		
		
		
	Start to add tests for modules/base/tool
This commit is contained in:
		| @@ -23,11 +23,9 @@ import ( | |||||||
|  |  | ||||||
| 	"github.com/Unknwon/com" | 	"github.com/Unknwon/com" | ||||||
| 	"github.com/Unknwon/i18n" | 	"github.com/Unknwon/i18n" | ||||||
|  |  | ||||||
| 	"github.com/gogits/chardet" |  | ||||||
|  |  | ||||||
| 	"github.com/go-gitea/gitea/modules/log" | 	"github.com/go-gitea/gitea/modules/log" | ||||||
| 	"github.com/go-gitea/gitea/modules/setting" | 	"github.com/go-gitea/gitea/modules/setting" | ||||||
|  | 	"github.com/gogits/chardet" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // EncodeMD5 encodes string to md5 hex value. | // EncodeMD5 encodes string to md5 hex value. | ||||||
| @@ -198,10 +196,7 @@ func CreateTimeLimitCode(data string, minutes int, startInf interface{}) string | |||||||
| // HashEmail hashes email address to MD5 string. | // HashEmail hashes email address to MD5 string. | ||||||
| // https://en.gravatar.com/site/implement/hash/ | // https://en.gravatar.com/site/implement/hash/ | ||||||
| func HashEmail(email string) string { | func HashEmail(email string) string { | ||||||
| 	email = strings.ToLower(strings.TrimSpace(email)) | 	return EncodeMD5(strings.ToLower(strings.TrimSpace(email))) | ||||||
| 	h := md5.New() |  | ||||||
| 	h.Write([]byte(email)) |  | ||||||
| 	return hex.EncodeToString(h.Sum(nil)) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // AvatarLink returns relative avatar link to the site domain by given email, | // AvatarLink returns relative avatar link to the site domain by given email, | ||||||
|   | |||||||
							
								
								
									
										83
									
								
								modules/base/tool_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								modules/base/tool_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | |||||||
|  | package base | ||||||
|  |  | ||||||
|  | import "testing" | ||||||
|  |  | ||||||
|  | func TestEncodeMD5(t *testing.T) { | ||||||
|  | 	if checksum := EncodeMD5("foobar"); checksum != "3858f62230ac3c915f300c664312c63f" { | ||||||
|  | 		t.Errorf("got the wrong md5sum for string foobar: %s", checksum) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func TestEncodeSha1(t *testing.T) { | ||||||
|  | 	if checksum := EncodeSha1("foobar"); checksum != "8843d7f92416211de9ebb963ff4ce28125932878" { | ||||||
|  | 		t.Errorf("got the wrong sha1sum for string foobar: %s", checksum) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func TestShortSha(t *testing.T) { | ||||||
|  | 	if result := ShortSha("veryverylong"); result != "veryverylo" { | ||||||
|  | 		t.Errorf("got the wrong sha1sum for string foobar: %s", result) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // TODO: Test DetectEncoding() | ||||||
|  |  | ||||||
|  | func TestBasicAuthDecode(t *testing.T) { | ||||||
|  | 	if _, _, err := BasicAuthDecode("?"); err.Error() != "illegal base64 data at input byte 0" { | ||||||
|  | 		t.Errorf("BasicAuthDecode should fail due to illeagl data: %v", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	user, pass, err := BasicAuthDecode("Zm9vOmJhcg==") | ||||||
|  | 	if err != nil { | ||||||
|  | 		t.Errorf("err should be nil but is: %v", err) | ||||||
|  | 	} | ||||||
|  | 	if user != "foo" { | ||||||
|  | 		t.Errorf("user should be foo but is: %s", user) | ||||||
|  | 	} | ||||||
|  | 	if pass != "bar" { | ||||||
|  | 		t.Errorf("pass should be foo but is: %s", pass) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func TestBasicAuthEncode(t *testing.T) { | ||||||
|  | 	if auth := BasicAuthEncode("foo", "bar"); auth != "Zm9vOmJhcg==" { | ||||||
|  | 		t.Errorf("auth should be Zm9vOmJhcg== but is: %s", auth) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func TestGetRandomString(t *testing.T) { | ||||||
|  | 	if len(GetRandomString(4)) != 4 { | ||||||
|  | 		t.Error("expected GetRandomString to be of len 4") | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // TODO: Test PBKDF2() | ||||||
|  | // TODO: Test VerifyTimeLimitCode() | ||||||
|  | // TODO: Test CreateTimeLimitCode() | ||||||
|  |  | ||||||
|  | func TestHashEmail(t *testing.T) { | ||||||
|  | 	if hash := HashEmail("lunny@gitea.io"); hash != "1b6d0c0e124d47ded12cd7115addeb11" { | ||||||
|  | 		t.Errorf("unexpected email hash: %s", hash) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // TODO: AvatarLink() | ||||||
|  | // TODO: computeTimeDiff() | ||||||
|  | // TODO: TimeSincePro() | ||||||
|  | // TODO: timeSince() | ||||||
|  | // TODO: RawTimeSince() | ||||||
|  | // TODO: TimeSince() | ||||||
|  | // TODO: logn() | ||||||
|  | // TODO: humanateBytes() | ||||||
|  | // TODO: FileSize() | ||||||
|  | // TODO: Subtract() | ||||||
|  | // TODO: EllipsisString() | ||||||
|  | // TODO: TruncateString() | ||||||
|  | // TODO: StringsToInt64s() | ||||||
|  | // TODO: Int64sToStrings() | ||||||
|  | // TODO: Int64sToMap() | ||||||
|  | // TODO: IsLetter() | ||||||
|  | // TODO: IsTextFile() | ||||||
|  | // TODO: IsImageFile() | ||||||
|  | // TODO: IsPDFFile() | ||||||
		Reference in New Issue
	
	Block a user