GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / web / org / codehaus / groovy / grails / web / mapping / UrlMappingDataTests.java
blob9f8a18a0d031767748fc78ed480a96e3b2f52a6c
1 /* Copyright 2004-2005 Graeme Rocher
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
15 package org.codehaus.groovy.grails.web.mapping;
17 import junit.framework.TestCase;
19 /**
20 * Tests for the UrlMappingData class
22 * @author Graeme Rocher
23 * @since 0.4
24 * <p/>
25 * Created: Mar 5, 2007
26 * Time: 7:50:41 AM
28 public class UrlMappingDataTests extends TestCase {
30 public void testOptionals() {
31 UrlMappingData data = new DefaultUrlMappingData("/surveys/(*)?");
33 assertEquals(2, data.getTokens().length);
34 assertTrue(data.isOptional(0));
37 public void testTokens() {
38 UrlMappingData data = new DefaultUrlMappingData("/blog/(*)/2007/(*)?");
40 String[] tokens = data.getTokens();
42 assertFalse(tokens.length == 0);
44 assertEquals("blog",tokens[0] );
45 assertEquals("(*)",tokens[1] );
46 assertEquals("2007",tokens[2] );
47 assertEquals("(*)",tokens[3] );
49 assertFalse(data.isOptional(0));
50 assertTrue(data.isOptional(1));
53 public void testLogicalUrls() {
54 UrlMappingData data = new DefaultUrlMappingData("/blog/(*)?/2007/*/*?");
56 String[] urls = data.getLogicalUrls();
58 assertEquals(3, urls.length);
60 assertEquals("/blog/(*)/2007/*/*", urls[0]);
61 assertEquals("/blog/(*)/2007/*", urls[1]);
62 assertEquals("/blog", urls[2]);
65 public void testUrlMappingDataParser() {
66 UrlMappingParser parser = new DefaultUrlMappingParser();
68 UrlMappingData data = parser.parse("/blog/(*)?/2007/*/*?");
70 String[] urls = data.getLogicalUrls();
72 assertEquals(3, urls.length);
74 assertEquals("/blog/(*)/2007/*/*", urls[0]);
75 assertEquals("/blog/(*)/2007/*", urls[1]);
76 assertEquals("/blog", urls[2]);