mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
71 lines
2.0 KiB
Go
71 lines
2.0 KiB
Go
// Copyright 2013 com authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License"): you may
|
|
// not use this file except in compliance with the License. You may obtain
|
|
// a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
// License for the specific language governing permissions and limitations
|
|
// under the License.
|
|
|
|
package com
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestIsEmail(t *testing.T) {
|
|
emails := map[string]bool{
|
|
`test@example.com`: true,
|
|
`single-character@b.org`: true,
|
|
`uncommon_address@test.museum`: true,
|
|
`local@sld.UPPER`: true,
|
|
`@missing.org`: false,
|
|
`missing@.com`: false,
|
|
`missing@qq.`: false,
|
|
`wrong-ip@127.1.1.1.26`: false,
|
|
}
|
|
for e, r := range emails {
|
|
b := IsEmail(e)
|
|
if b != r {
|
|
t.Errorf("IsEmail:\n Expect => %v\n Got => %v\n", r, b)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestIsUrl(t *testing.T) {
|
|
urls := map[string]bool{
|
|
"http://www.example.com": true,
|
|
"http://example.com": true,
|
|
"http://example.com?user=test&password=test": true,
|
|
"http://example.com?user=test#login": true,
|
|
"ftp://example.com": true,
|
|
"https://example.com": true,
|
|
"htp://example.com": false,
|
|
"http//example.com": false,
|
|
"http://example": true,
|
|
}
|
|
for u, r := range urls {
|
|
b := IsUrl(u)
|
|
if b != r {
|
|
t.Errorf("IsUrl:\n Expect => %v\n Got => %v\n", r, b)
|
|
}
|
|
}
|
|
}
|
|
|
|
func BenchmarkIsEmail(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
IsEmail("test@example.com")
|
|
}
|
|
}
|
|
|
|
func BenchmarkIsUrl(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
IsEmail("http://example.com")
|
|
}
|
|
}
|