| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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 org.apache.cocoon.util; |
| |
| import java.util.Map; |
| |
| import junit.framework.TestCase; |
| |
| |
| /** |
| * @version $Id$ |
| */ |
| public class WildcardMatcherHelperTestCase |
| extends TestCase { |
| |
| //~ Methods ------------------------------------------------------------------------------------ |
| |
| public void test01WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("test", "test"); |
| assertNotNull(result); |
| assertEquals("test", result.get("0")); |
| assertNull(result.get("1")); |
| } |
| |
| public void test02WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end", "enp"); |
| assertNull(result); |
| } |
| |
| public void test03WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("/t\\*d", "/t*d"); |
| assertNotNull(result); |
| assertEquals("/t*d", result.get("0")); |
| } |
| |
| public void test04WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("\\*d", "*d"); |
| assertNotNull(result); |
| assertEquals("*d", result.get("0")); |
| } |
| |
| public void test05WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**", "*d"); |
| assertNotNull(result); |
| assertEquals("*d", result.get("0")); |
| assertEquals("*d", result.get("1")); |
| } |
| |
| public void test06WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("foo**", "foo*d"); |
| assertNotNull(result); |
| assertEquals("foo*d", result.get("0")); |
| assertEquals("*d", result.get("1")); |
| } |
| |
| public void test07WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end", "en"); |
| assertNull(result); |
| } |
| |
| public void test08WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("en", "end"); |
| assertNull(result); |
| } |
| |
| public void test09WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end**", "end"); |
| assertNotNull(result); |
| assertEquals("", result.get("1")); |
| } |
| |
| public void test10WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end**end", "endendend"); |
| assertNotNull(result); |
| assertEquals("end", result.get("1")); |
| } |
| |
| public void test11WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end**end", "endxxend"); |
| assertNotNull(result); |
| assertEquals("xx", result.get("1")); |
| } |
| |
| public void test12WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*/end", "xx/end"); |
| assertNotNull(result); |
| assertEquals("xx", result.get("1")); |
| } |
| |
| public void test13WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("ab/cd*/end", "ab/cdxx/end"); |
| assertNotNull(result); |
| assertEquals("xx", result.get("1")); |
| } |
| |
| public void test14WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("a*/cd*/end", "ab/cdxx/end"); |
| assertNotNull(result); |
| assertEquals("b", result.get("1")); |
| assertEquals("xx", result.get("2")); |
| } |
| |
| public void test15WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("a**/cd*/end", "ab/yy/cdxx/end"); |
| assertNotNull(result); |
| assertEquals("b/yy", result.get("1")); |
| assertEquals("xx", result.get("2")); |
| } |
| |
| public void test16WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("a**/cd*/end/*", "ab/yy/cdxx/end/foobar/ii"); |
| assertNull(result); |
| } |
| |
| public void test17WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("a**/cd*/end/**", "ab/yy/cdxx/end/foobar/ii"); |
| assertNotNull(result); |
| assertEquals("b/yy", result.get("1")); |
| assertEquals("xx", result.get("2")); |
| assertEquals("foobar/ii", result.get("3")); |
| } |
| |
| public void test18WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("a**cd*/end/**", "ab/yy/cdxx/end/foobar/ii"); |
| assertNotNull(result); |
| assertEquals("b/yy/", result.get("1")); |
| assertEquals("xx", result.get("2")); |
| assertEquals("foobar/ii", result.get("3")); |
| } |
| |
| public void test19WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*/*.xml", "test/something.xmlbla.xml"); |
| assertNotNull(result); |
| assertEquals("test", result.get("1")); |
| assertEquals("something.xmlbla", result.get("2")); |
| } |
| |
| public void test20WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("ab/cd*/end", "ab/cd/end"); |
| assertNotNull(result); |
| assertEquals("", result.get("1")); |
| } |
| |
| public void test21WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*/**", "samples/blocks/"); |
| assertNotNull(result); |
| assertEquals("samples", result.get("1")); |
| assertEquals("blocks/", result.get("2")); |
| } |
| |
| public void test22WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*/**", "samples/"); |
| assertNotNull(result); |
| assertEquals("samples", result.get("1")); |
| assertEquals("", result.get("2")); |
| } |
| |
| public void test23WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**favicon.ico", "samples/"); |
| assertNull(result); |
| } |
| |
| public void test24WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**favicon.ico", "samples1234/"); |
| assertNull(result); |
| } |
| |
| public void test25WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**favicon.ico", "samples123/"); |
| assertNull(result); |
| } |
| |
| public void test26WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**/*/**", "foo/bar/baz/bug"); |
| assertNotNull(result); |
| assertEquals("foo/bar", result.get("1")); |
| assertEquals("baz", result.get("2")); |
| assertEquals("bug", result.get("3")); |
| } |
| |
| public void test27WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end*end*end*end", "endXXendYendend"); |
| assertNotNull(result); |
| assertEquals("XX", result.get("1")); |
| assertEquals("Y", result.get("2")); |
| assertEquals("", result.get("3")); |
| } |
| |
| public void test28WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end*end*end*end", "endendendend"); |
| assertNotNull(result); |
| assertEquals("", result.get("1")); |
| assertEquals("", result.get("2")); |
| assertEquals("", result.get("3")); |
| } |
| |
| public void test29WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end**end**end**end", "endXXendYendend"); |
| assertNotNull(result); |
| assertEquals("XX", result.get("1")); |
| assertEquals("Y", result.get("2")); |
| assertEquals("", result.get("3")); |
| } |
| |
| public void test30WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("end**end**end**end", "endendendend"); |
| assertNotNull(result); |
| assertEquals("", result.get("1")); |
| assertEquals("", result.get("2")); |
| assertEquals("", result.get("3")); |
| } |
| |
| public void test31WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*/", "test/foo/bar"); |
| assertNull(result); |
| } |
| |
| public void test32WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("**/*.html", "foo/bar/baz.html"); |
| assertNotNull(result); |
| assertEquals("baz", result.get("2")); |
| assertEquals("foo/bar", result.get("1")); |
| } |
| |
| public void test33WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*.html", "menu/baz.html"); |
| assertNull(result); |
| } |
| |
| public void test34WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("*.html", "baz.html"); |
| assertNotNull(result); |
| assertEquals("baz", result.get("1")); |
| } |
| |
| public void test35WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("menu/**/foo_*_bar.*", "menu//foo_baz_bar.html"); |
| assertNotNull(result); |
| assertEquals("", result.get("1")); |
| assertEquals("baz", result.get("2")); |
| assertEquals("html", result.get("3")); |
| } |
| |
| public void test36WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("menu/**/foo/*", "menu/bar/baz.xml"); |
| assertNull(result); |
| } |
| |
| public void test37WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("menu/*.xml", "menu/foo/bar.xml"); |
| assertNull(result); |
| } |
| |
| public void test38WildcardURIMatch() |
| throws Exception { |
| Map result = WildcardMatcherHelper.match("\\\\foo\\*\\n\\0\\", "\\foo*\\n\\0\\"); |
| assertNotNull(result); |
| } |
| |
| public void testEmptyPattern() throws Exception { |
| assertNotNull(WildcardMatcherHelper.match("", "")); |
| assertNull(WildcardMatcherHelper.match("", "foo")); |
| assertNull(WildcardMatcherHelper.match("", "foo/bar")); |
| } |
| |
| public void testEndPattern() throws Exception { |
| assertNotNull(WildcardMatcherHelper.match("*/", "foo/")); |
| assertNull(WildcardMatcherHelper.match("*/", "foo/bar/")); |
| assertNull(WildcardMatcherHelper.match("*/", "test/foo/bar/")); |
| } |
| } |