| /* |
| * 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.commons.jelly.core; |
| |
| import junit.framework.TestSuite; |
| |
| import org.apache.commons.jelly.JellyException; |
| import org.apache.commons.jelly.Script; |
| import org.apache.commons.jelly.JellyContext; |
| import org.apache.commons.jelly.TJTagLibrary; |
| import org.apache.commons.jelly.test.BaseJellyTest; |
| import org.xml.sax.SAXParseException; |
| |
| /** |
| * Tests for exceptions being raised when an unknown tag is encountered - new |
| * code added in response to JELLY-13 |
| * |
| * @author <a href="mailto:john.spackman@zenesis.com">John Spackman</a> |
| */ |
| public class TestUnknownTags extends BaseJellyTest { |
| |
| public TestUnknownTags(String name) { |
| super(name); |
| } |
| |
| public static TestSuite suite() throws Exception { |
| return new TestSuite(TestUnknownTags.class); |
| } |
| |
| protected void addCustomTagLib(JellyContext context) { |
| context.registerTagLibrary(TJTagLibrary.NS, TJTagLibrary.class.getName()); |
| } |
| |
| public void testUnknownTags() throws Exception { |
| setUpScript("testUnknownTags.xml"); |
| try { |
| Script script = getJelly().compileScript(); |
| script.run(getJellyContext(), getXMLOutput()); |
| System.out.println(getStringOutput()); |
| }catch(JellyException e) { |
| if (e.getCause() instanceof SAXParseException) { |
| Throwable cause = e.getCause(); |
| if (cause.getMessage().indexOf("Unrecognized tag called tag-that-does-not-exist in TagLibrary jelly:test") > -1) |
| return; |
| } |
| throw e; |
| } |
| } |
| } |