diff options
Diffstat (limited to 'tests/org.eclipse.wst.html.core.tests/src/org/eclipse/wst/html/core/tests/parser/ModelTest.java')
-rw-r--r-- | tests/org.eclipse.wst.html.core.tests/src/org/eclipse/wst/html/core/tests/parser/ModelTest.java | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/tests/org.eclipse.wst.html.core.tests/src/org/eclipse/wst/html/core/tests/parser/ModelTest.java b/tests/org.eclipse.wst.html.core.tests/src/org/eclipse/wst/html/core/tests/parser/ModelTest.java deleted file mode 100644 index d59cfe7c2..000000000 --- a/tests/org.eclipse.wst.html.core.tests/src/org/eclipse/wst/html/core/tests/parser/ModelTest.java +++ /dev/null @@ -1,291 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.html.core.tests.parser; - -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Writer; - -import junit.framework.TestCase; - -import org.eclipse.wst.html.core.tests.utils.DateUtil; -import org.eclipse.wst.html.core.tests.utils.FileUtil; -import org.eclipse.wst.html.core.tests.utils.StringCompareUtil; -import org.eclipse.wst.html.core.tests.utils.TestWriter; -import org.eclipse.wst.sse.core.StructuredModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.utils.StringUtils; -import org.eclipse.wst.xml.core.internal.document.StructuredDocumentRegionChecker; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; -import org.w3c.dom.Node; - -public abstract class ModelTest extends TestCase { - - public final static String testResultsDirectoryPrefix = "ParserResults"; - private final static String fileExtension = ".txt"; - protected TestWriter fOutputWriter = new TestWriter(); - private int READ_BUFFER_SIZE = 4096; - - private boolean echoToSystemOut = false; - private boolean printedOnce; - private boolean printSummaryToSystemOut; - - /** - * Constructor for ModelTest. - * - * @param name - */ - public ModelTest(String name) { - super(name); - try { - printClass(); - } - catch (IOException e) { - e.printStackTrace(); - } - } - - public ModelTest() { - this("dummy"); - // try { - // printClass(); - // } catch (IOException e) { - // e.printStackTrace(); - // } - } - - public static IDOMModel createHTMLModel() { - - //return new XMLModelImpl(); - - IStructuredModel model = null; - try { - IModelManager modelManager = StructuredModelManager.getModelManager(); - - model = modelManager.getModelForEdit("test.html", new NullInputStream(), null); - - // always use the same line delimiter for these tests, regardless - // of - // plaform or preference settings - model.getStructuredDocument().setLineDelimiter(TestWriter.commonEOL); - } - catch (Exception e) { - e.printStackTrace(); - } - //assertTrue("basic XML empty model could not be created", model != - // null); - return (IDOMModel) model; - - } - - public static IDOMModel createXMLModel() { - - //return new XMLModelImpl(); - - IStructuredModel model = null; - try { - IModelManager modelManager = StructuredModelManager.getModelManager(); - //assertTrue("modelManager must not be null", modelManager != - // null); - - model = modelManager.getModelForEdit("test.xml", new NullInputStream(), null); - - // always use the same line delimiter for these tests, regardless - // of - // plaform or preference settings - model.getStructuredDocument().setLineDelimiter(TestWriter.commonEOL); - - - } - catch (Exception e) { - e.printStackTrace(); - } - //assertTrue("basic XML empty model could not be created", model != - // null); - return (IDOMModel) model; - - } - - /** - */ - private void printClass() throws IOException { - fOutputWriter.writeln(getClass().getName()); - } - - public static void printException(Exception ex) { - ex.printStackTrace(); - } - - private void printNode(Node node, int indent) { - try { - StringBuffer buffer = new StringBuffer(10); - for (int i = 0; i < indent; i++) - buffer.append("--"); - buffer.append(StringUtils.escape(node.toString())); - fOutputWriter.writeln(buffer.toString()); - indent++; - Node child = node.getFirstChild(); - while (child != null) { - printNode(child, indent); - child = child.getNextSibling(); - } - } - catch (Exception ex) { - printException(ex); - } - } - - public void printSource(IDOMModel model) { - try { - fOutputWriter.writeln("Source :"); - fOutputWriter.writeln(model.getStructuredDocument().getText()); - fOutputWriter.writeln(""); - } - catch (Exception ex) { - printException(ex); - } - } - - public void printTree(IDOMModel model) { - try { - printFlatModel(model.getStructuredDocument()); - new StructuredDocumentRegionChecker(fOutputWriter).checkModel(model); - fOutputWriter.writeln("Tree :"); - printNode(model.getDocument(), 0); - fOutputWriter.writeln(""); - - } - catch (Exception ex) { - printException(ex); - } - - } - - protected void saveAndCompareTestResults() { - try { - String testOutputDirectory = testResultsDirectoryPrefix + DateUtil.now(); - String currentFilename = getClass().getName() + fileExtension; - File fileout = FileUtil.makeFileFor(testOutputDirectory, currentFilename, testResultsDirectoryPrefix); - Writer fileWriter = new FileWriter(fileout); - fileWriter.write(fOutputWriter.toString()); - fileWriter.close(); - compareWithPreviousResults(fOutputWriter, currentFilename); - - if (echoToSystemOut) { - System.out.println(fOutputWriter.toString()); - } - - fOutputWriter.close(); - } - catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * Method compareWithPreviousResults. - * - * @param outputWriter - * @param currentFilename - */ - private void compareWithPreviousResults(TestWriter outputWriter, String currentFilename) throws IOException { - boolean success = false; - File previousResultsDir = FileUtil.getPreviousResultsDirectory(testResultsDirectoryPrefix); - if (previousResultsDir != null) { - String currentResults = outputWriter.toString(); - File previousResultsFile = new File(previousResultsDir, currentFilename); - FileReader previousResultsFileReader = new FileReader(previousResultsFile); - String previousResults = readString(previousResultsFileReader); - StringCompareUtil stringCompare = new StringCompareUtil(); - // trying to "force" the same linedelimter didn't work well, - // I think since the line delimiter is input on some tests, - // and CVS is likely to change anyway (for ASCII files). - // so we'll ignore in our comparisons. Note: we wouldn't - // want to ignore whitespace. There might actually be some - // tests that are not as accurate if we ignore EOL, but there - // seems to be no easy way to handle, with out a lot of trouble. - if (!stringCompare.equalsIgnoreLineSeperator(previousResults, currentResults)) { - // previousResults.equals(currentResults)) { - // fail - success = false; - - System.out.println(); - System.out.println(currentFilename + " failed comparison to previous results"); - System.out.println("Previous: "); - System.out.println(previousResults); - System.out.println(); - System.out.println("Current: "); - System.out.println(currentResults); - System.out.println(); - } - else { - success = true; - if (printSummaryToSystemOut) { - System.out.println(); - System.out.println(currentFilename + " compared ok"); - System.out.println(); - } - } - } - else { - if (!printedOnce) { - System.out.println(); - System.out.println("No Previous Directory found ... couldn't compare " + currentFilename + " with previous results"); - printedOnce = true; - System.out.println(); - } - } - assertTrue("current is not equal to reference results for " + currentFilename, success); - } - - /** - * Method readString. - * - * @param previousResultsFileReader - * @return String - */ - private String readString(FileReader fileReader) throws IOException { - return readInputStream(fileReader); - } - - private String readInputStream(InputStreamReader inputStreamReader) throws IOException { - int numRead = 0; - StringBuffer buffer = new StringBuffer(); - char tBuff[] = new char[READ_BUFFER_SIZE]; - while ((numRead = inputStreamReader.read(tBuff, 0, tBuff.length)) != -1) { - buffer.append(tBuff, 0, numRead); - } - // remember -- we didn't open stream ... so we don't close it - return buffer.toString(); - } - - public abstract void testModel(); - - protected void printFlatModel(IStructuredDocument flatModel) { - fOutputWriter.writeln(""); - fOutputWriter.writeln("StructuredDocument Regions :"); - IStructuredDocumentRegion flatnode = flatModel.getFirstStructuredDocumentRegion(); - while (flatnode != null) { - - fOutputWriter.writeln(flatnode.toString()); - flatnode = flatnode.getNext(); - - } - fOutputWriter.writeln(""); - - } -}
\ No newline at end of file |