mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01: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