| /******************************************************************************* |
| * Copyright (c) 2011, 2014 Torkild U. Resheim. |
| * |
| * 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: |
| * Torkild U. Resheim - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.mylyn.docs.epub.tests.api; |
| |
| import java.io.File; |
| |
| import org.eclipse.emf.ecore.EStructuralFeature; |
| import org.eclipse.emf.ecore.util.FeatureMap; |
| import org.eclipse.emf.ecore.util.FeatureMapUtil.FeatureEList; |
| import org.eclipse.emf.ecore.xml.type.XMLTypePackage; |
| import org.eclipse.mylyn.docs.epub.core.EPUB; |
| import org.eclipse.mylyn.docs.epub.core.ILogger; |
| import org.eclipse.mylyn.docs.epub.dc.DCType; |
| import org.eclipse.mylyn.docs.epub.dc.Identifier; |
| import org.junit.After; |
| import org.junit.Before; |
| |
| import junit.framework.TestCase; |
| |
| @SuppressWarnings("nls") |
| public abstract class AbstractTest extends TestCase { |
| |
| private static final boolean DEBUGGING = false;; |
| |
| private class StdOutLogger implements ILogger { |
| |
| public void log(String message) { |
| log(message, Severity.INFO); |
| } |
| |
| public void log(String message, Severity severity) { |
| if (DEBUGGING) { |
| switch (severity) { |
| case ERROR: |
| System.out.print("[ERROR] "); |
| break; |
| case DEBUG: |
| System.out.print("[DEBUG] "); |
| break; |
| case INFO: |
| System.out.print("[INFO ] "); |
| break; |
| case VERBOSE: |
| System.out.print("[VERBO] "); |
| break; |
| case WARNING: |
| System.out.print("[WARN ] "); |
| break; |
| default: |
| break; |
| } |
| System.out.println(message); |
| } |
| } |
| } |
| |
| protected static final EStructuralFeature TEXT = XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text(); |
| |
| protected EPUB epub; |
| |
| protected final File epubFile = new File("test" + File.separator + "test.epub"); |
| |
| protected final File epubFolder = new File("test" + File.separator + "epub"); |
| |
| protected final StdOutLogger logger = new StdOutLogger(); |
| |
| protected boolean deleteFolder(File folder) { |
| if (folder.isDirectory()) { |
| String[] children = folder.list(); |
| for (String element : children) { |
| boolean ok = deleteFolder(new File(folder, element)); |
| if (!ok) { |
| return false; |
| } |
| } |
| } |
| return folder.delete(); |
| } |
| |
| @SuppressWarnings("rawtypes") |
| public String getText(DCType identifier) { |
| FeatureMap fm = identifier.getMixed(); |
| Object o = fm.get(TEXT, false); |
| if (o instanceof FeatureEList) { |
| if (((FeatureEList) o).size() > 0) { |
| return ((FeatureEList) o).get(0).toString(); |
| } |
| } |
| return null; |
| } |
| |
| @SuppressWarnings("rawtypes") |
| public String getText(Identifier element) { |
| FeatureMap fm = element.getMixed(); |
| Object o = fm.get(TEXT, false); |
| if (o instanceof FeatureEList) { |
| if (((FeatureEList) o).size() > 0) { |
| return ((FeatureEList) o).get(0).toString(); |
| } |
| } |
| return null; |
| } |
| |
| /** |
| * @throws java.lang.Exception |
| */ |
| @Override |
| @Before |
| public void setUp() throws Exception { |
| if (epubFile.exists()) { |
| epubFile.delete(); |
| } |
| if (epubFolder.exists()) { |
| deleteFolder(epubFolder); |
| } |
| epubFolder.mkdirs(); |
| epub = new EPUB(logger); |
| } |
| |
| @Override |
| @After |
| public void tearDown() { |
| epubFile.delete(); |
| } |
| |
| /* Bug 454932 - fix or remove failing EPUB test |
| @Override |
| @After |
| public void tearDown() throws Exception { |
| if (epubFolder.exists()) { |
| deleteFolder(epubFolder); |
| } |
| if (epubFile.exists()) { |
| ValidationReport report = new ValidationReport(epubFile.toString()); |
| EpubCheck checker = new EpubCheck(epubFile, report); |
| checker.validate(); |
| final String logMessage = report.getErrors(); |
| epubFile.delete(); |
| if (!errorExpected && report.getErrorCount() > 0) { |
| fail(logMessage); |
| } |
| } |
| } |
| */ |
| } |