| /******************************************************************************* |
| * Copyright (c) 2014 itemis AG and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Mark Broerkens (itemis AG) - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.rmf.tests.reqif10.common; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertFalse; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertNull; |
| import static org.junit.Assert.assertSame; |
| import static org.junit.Assert.assertTrue; |
| |
| import java.io.IOException; |
| |
| import org.eclipse.rmf.reqif10.ReqIF10Factory; |
| import org.eclipse.rmf.reqif10.XhtmlContent; |
| import org.eclipse.rmf.reqif10.common.util.ReqIF10XHtmlContentAdapter; |
| import org.eclipse.rmf.reqif10.common.util.ReqIF10XHtmlContentAdapterFactory; |
| import org.eclipse.rmf.reqif10.xhtml.XhtmlDivType; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| @SuppressWarnings("nls") |
| public class ReqIF10XHtmlContentAdapterTests { |
| ReqIF10XHtmlContentAdapterFactory factory = new ReqIF10XHtmlContentAdapterFactory(); |
| |
| @Before |
| public void setUp() { |
| // EPackage.Registry.INSTANCE.put(XhtmlPackage.eNS_URI, XhtmlPackage.eINSTANCE); |
| } |
| |
| @Test |
| public void testSetXhtmlContentAdapterFactory() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| Object adapterObject = factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| assertNotNull(adapterObject); |
| System.out.println(adapterObject); |
| assertTrue(adapterObject instanceof ReqIF10XHtmlContentAdapter); |
| |
| Object adapterObject2 = factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| assertSame(adapterObject, adapterObject2); |
| } |
| |
| @Test |
| public void testXhtmlStringNull() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| ReqIF10XHtmlContentAdapter adapter = (ReqIF10XHtmlContentAdapter) factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| try { |
| adapter.setXhtmlString(null); |
| } catch (IOException ioe) { |
| assertTrue(false); |
| } |
| assertNull(adapter.getXhtmlString()); |
| assertFalse(xhtmlContent.isSetXhtml()); |
| assertNull(xhtmlContent.getXhtml()); |
| } |
| |
| @Test |
| public void testXhtmlStringEmpty() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| ReqIF10XHtmlContentAdapter adapter = (ReqIF10XHtmlContentAdapter) factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| try { |
| adapter.setXhtmlString(""); |
| assertTrue(false); |
| } catch (IOException ioe) { |
| |
| } |
| assertEquals(null, adapter.getXhtmlString()); |
| assertFalse(xhtmlContent.isSetXhtml()); |
| assertEquals(1, adapter.getErrors().size()); |
| } |
| |
| @Test |
| public void testXhtmlStringDiv() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| ReqIF10XHtmlContentAdapter adapter = (ReqIF10XHtmlContentAdapter) factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| try { |
| adapter.setXhtmlString("<div xmlns=\"http://www.w3.org/1999/xhtml\">hello</div>"); //$NON-NLS-1$ |
| } catch (IOException ioe) { |
| assertTrue(false); |
| } |
| assertEquals("<div xmlns=\"http://www.w3.org/1999/xhtml\">hello</div>\n", adapter.getXhtmlString()); |
| assertTrue(xhtmlContent.isSetXhtml()); |
| assertEquals(0, adapter.getErrors().size()); |
| assertTrue(xhtmlContent.getXhtml() instanceof XhtmlDivType); |
| } |
| |
| @Test |
| public void testXhtmlStringDivNoNamespace() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| ReqIF10XHtmlContentAdapter adapter = (ReqIF10XHtmlContentAdapter) factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| try { |
| adapter.setXhtmlString("<div>hello</div>"); |
| } catch (IOException ioe) { |
| assertTrue(false); |
| } |
| assertEquals("<div xmlns=\"http://www.w3.org/1999/xhtml\">hello</div>\n", adapter.getXhtmlString()); |
| assertTrue(xhtmlContent.isSetXhtml()); |
| assertEquals(0, adapter.getErrors().size()); |
| assertTrue(xhtmlContent.getXhtml() instanceof XhtmlDivType); |
| } |
| |
| @Test |
| public void testXhtmlPlainTextString() { |
| XhtmlContent xhtmlContent = getEmptyXhtmlContent(); |
| ReqIF10XHtmlContentAdapter adapter = (ReqIF10XHtmlContentAdapter) factory.adapt(xhtmlContent, ReqIF10XHtmlContentAdapter.class); |
| adapter.setXhtmlPlainTextString("<div>hello \u67e5\u770b\u5168\u90e8\u00e8,.-"); |
| assertEquals("<div xmlns=\"http://www.w3.org/1999/xhtml\"><div>hello \u67e5\u770b\u5168\u90e8\u00e8,.-</div>\n", adapter.getXhtmlString()); |
| assertTrue(xhtmlContent.isSetXhtml()); |
| assertEquals(0, adapter.getErrors().size()); |
| assertTrue(xhtmlContent.getXhtml() instanceof XhtmlDivType); |
| } |
| |
| XhtmlContent getEmptyXhtmlContent() { |
| return ReqIF10Factory.eINSTANCE.createXhtmlContent(); |
| } |
| |
| } |