FileDocCategorySizeDatePackage
AtomUriElementTest.javaAPI DocApache Lucene 2.2.04617Sat Jun 16 22:20:48 BST 2007org.apache.lucene.gdata.gom.core

AtomUriElementTest.java

package org.apache.lucene.gdata.gom.core;

/**
 * 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.
 */

import java.io.StringWriter;

import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLStreamException;

import org.apache.lucene.gdata.gom.GOMIcon;
import org.apache.lucene.gdata.gom.GOMLogo;
import org.apache.lucene.gdata.gom.writer.GOMStaxWriter;
import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;

import junit.framework.TestCase;

/**
 * @author Simon Willnauer
 * 
 */
public class AtomUriElementTest extends TestCase {
	GOMIconImpl iconImpl;

	GOMLogoImpl logoImpl;

	protected void setUp() throws Exception {
		this.iconImpl = new GOMIconImpl();
		this.logoImpl = new GOMLogoImpl();

	}

	/*
	 * Test method for
	 * 'org.apache.lucene.gdata.gom.core.AtomUriElement.processEndElement()'
	 */
	public void testProcessEndElement() {
		try {
			this.iconImpl.processEndElement();
			fail("no text value");
		} catch (GDataParseException e) {
			assertTrue(e.getMessage().indexOf("requires a element value") > 0);
		}

		try {
			this.iconImpl.setTextValue("test");

			this.iconImpl.processEndElement();
			fail("no text value");
		} catch (GDataParseException e) {
			assertTrue(e.getMessage().indexOf("must be a") > 0);
		}
		try {
			this.iconImpl.setTextValue("/test");

			this.iconImpl.processEndElement();
			fail("no text value");
		} catch (GDataParseException e) {
			assertTrue(e.getMessage().indexOf("must be a") > 0);
		}
		this.iconImpl.xmlBase = "http://www.apache.org";
		this.iconImpl.setTextValue("/test");

		this.iconImpl.processEndElement();

		this.iconImpl.xmlBase = null;
		this.iconImpl.setTextValue("http://www.apache.org/test");

	}

	public void testConstructor() {
		assertEquals(GOMIcon.LOCALNAME, this.iconImpl.getLocalName());
		assertEquals(GOMIcon.LOCALNAME, this.iconImpl.getQname().getLocalPart());
		assertEquals(GOMLogo.LOCALNAME, this.logoImpl.getLocalName());
		assertEquals(GOMLogo.LOCALNAME, this.logoImpl.getQname().getLocalPart());
	}

	public void testWriteRssOutput() throws XMLStreamException,
			FactoryConfigurationError {

		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.iconImpl.writeRssOutput(writer);
			assertEquals("<url/>", stW.toString());
		}
		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.iconImpl.setTextValue("test");
			this.iconImpl.writeRssOutput(writer);
			assertEquals("<url>test</url>", stW.toString());
		}

		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.logoImpl.writeRssOutput(writer);
			assertEquals("<url/>", stW.toString());
		}
		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.logoImpl.setTextValue("test");
			this.logoImpl.writeRssOutput(writer);
			assertEquals("<url>test</url>", stW.toString());
		}
	}

	public void testWriteAtomOutput() throws XMLStreamException {
		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.iconImpl.writeAtomOutput(writer);
			assertEquals("<icon/>", stW.toString());
		}
		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.iconImpl.setTextValue("test");
			this.iconImpl.writeAtomOutput(writer);
			assertEquals("<icon>test</icon>", stW.toString());
		}

		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.logoImpl.writeAtomOutput(writer);
			assertEquals("<logo/>", stW.toString());
		}
		{
			StringWriter stW = new StringWriter();
			GOMOutputWriter writer = new GOMStaxWriter(stW);
			this.logoImpl.setTextValue("test");
			this.logoImpl.writeAtomOutput(writer);
			assertEquals("<logo>test</logo>", stW.toString());
		}
	}
}