Start to add tests for modules/base/tool
This commit is contained in:
		
							parent
							
								
									864d1b1f9f
								
							
						
					
					
						commit
						11c9160cd3
					
				
					 2 changed files with 85 additions and 7 deletions
				
			
		|  | @ -23,11 +23,9 @@ import ( | |||
| 
 | ||||
| 	"github.com/Unknwon/com" | ||||
| 	"github.com/Unknwon/i18n" | ||||
| 
 | ||||
| 	"github.com/gogits/chardet" | ||||
| 
 | ||||
| 	"github.com/go-gitea/gitea/modules/log" | ||||
| 	"github.com/go-gitea/gitea/modules/setting" | ||||
| 	"github.com/gogits/chardet" | ||||
| ) | ||||
| 
 | ||||
| // 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.
 | ||||
| // https://en.gravatar.com/site/implement/hash/
 | ||||
| func HashEmail(email string) string { | ||||
| 	email = strings.ToLower(strings.TrimSpace(email)) | ||||
| 	h := md5.New() | ||||
| 	h.Write([]byte(email)) | ||||
| 	return hex.EncodeToString(h.Sum(nil)) | ||||
| 	return EncodeMD5(strings.ToLower(strings.TrimSpace(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()
 | ||||
		Loading…
	
		Reference in a new issue