1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // 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")
- }
- }
|