GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / commons / org / codehaus / groovy / grails / validation / routines / DomainValidatorTests.java
blobf1e2537e51f1ef3c49c1d99a2d2252edd9ebace2
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 package org.codehaus.groovy.grails.validation.routines;
19 import junit.framework.TestCase;
21 /**
22 * Tests for the DomainValidator.
24 * @version $Revision: 589930 $ $Date: 2007-10-30 04:39:55 +0300 (Вт, 30 окт 2007) $
26 public class DomainValidatorTests extends TestCase {
28 private DomainValidator validator;
30 public void setUp() {
31 validator = DomainValidator.getInstance();
34 public void testValidDomains() {
35 assertTrue("apache.org should validate", validator.isValid("apache.org"));
36 assertTrue("www.google.com should validate", validator.isValid("www.google.com"));
38 assertTrue("test-domain.com should validate", validator.isValid("test-domain.com"));
39 assertTrue("test---domain.com should validate", validator.isValid("test---domain.com"));
40 assertTrue("test-d-o-m-ain.com should validate", validator.isValid("test-d-o-m-ain.com"));
41 assertTrue("two-letter domain label should validate", validator.isValid("as.uk"));
43 assertTrue("case-insensitive ApAchE.Org should validate", validator.isValid("ApAchE.Org"));
45 assertTrue("single-character domain label should validate", validator.isValid("z.com"));
47 assertTrue("i.have.an-example.domain.name should validate", validator.isValid("i.have.an-example.domain.name"));
50 public void testInvalidDomains() {
51 assertFalse("bare TLD .org shouldn't validate", validator.isValid(".org"));
52 assertFalse("domain name with spaces shouldn't validate", validator.isValid(" apache.org "));
53 assertFalse("domain name containing spaces shouldn't validate", validator.isValid("apa che.org"));
54 assertFalse("domain name starting with dash shouldn't validate", validator.isValid("-testdomain.name"));
55 assertFalse("domain name ending with dash shouldn't validate", validator.isValid("testdomain-.name"));
56 assertFalse("domain name starting with multiple dashes shouldn't validate", validator.isValid("---c.com"));
57 assertFalse("domain name ending with multiple dashes shouldn't validate", validator.isValid("c--.com"));
58 assertFalse("domain name with invalid TLD shouldn't validate", validator.isValid("apache.rog"));
60 assertFalse("URL shouldn't validate", validator.isValid("http://www.apache.org"));
61 assertFalse("Empty string shouldn't validate as domain name", validator.isValid(" "));
62 assertFalse("Null shouldn't validate as domain name", validator.isValid(null));
65 public void testTopLevelDomains() {
66 // infrastructure TLDs
67 assertTrue(".arpa should validate as iTLD", validator.isValidInfrastructureTld(".arpa"));
68 assertFalse(".com shouldn't validate as iTLD", validator.isValidInfrastructureTld(".com"));
70 // generic TLDs
71 assertTrue(".name should validate as gTLD", validator.isValidGenericTld(".name"));
72 assertFalse(".us shouldn't validate as gTLD", validator.isValidGenericTld(".us"));
74 // country code TLDs
75 assertTrue(".uk should validate as ccTLD", validator.isValidCountryCodeTld(".uk"));
76 assertFalse(".org shouldn't validate as ccTLD", validator.isValidCountryCodeTld(".org"));
78 // case-insensitive
79 assertTrue(".COM should validate as TLD", validator.isValidTld(".COM"));
80 assertTrue(".BiZ should validate as TLD", validator.isValidTld(".BiZ"));
82 // corner cases
83 assertFalse("invalid TLD shouldn't validate", validator.isValid(".nope"));
84 assertFalse("empty string shouldn't validate as TLD", validator.isValid(""));
85 assertFalse("null shouldn't validate as TLD", validator.isValid(null));