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
;
20 * Tests for the UrlMappingData class
22 * @author Graeme Rocher
25 * Created: Mar 5, 2007
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]);