blob: 0a47dbaddee468b6537c11f517ae5e2030b6287b [file] [log] [blame]
/*******************************************************************************
* 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.xml.core.tests.document;
import java.io.IOException;
import org.eclipse.core.filebuffers.FileBuffers;
import org.eclipse.core.filebuffers.ITextFileBuffer;
import org.eclipse.core.filebuffers.ITextFileBufferManager;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.text.IDocument;
import org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument;
import org.eclipse.wst.xml.core.internal.text.rules.StructuredTextPartitionerForXML;
public class FileBufferDocumentTester extends UnzippedProjectTester {
private void doTestCreate(String filePath, Class expectedDocumentClass, Class expectedPartioner) throws CoreException, IOException {
IFile file = (IFile) fTestProject.findMember(filePath);
assertNotNull("Test Case in error. Could not find file " + filePath, file);
IPath locationPath = file.getLocation();
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
bufferManager.connect(locationPath, null);
ITextFileBuffer buffer = bufferManager.getTextFileBuffer(locationPath);
IDocument document = buffer.getDocument();
assertNotNull(document);
assertTrue("wrong class of document", expectedDocumentClass.isInstance(document));
assertTrue("wrong partitioner in document.", expectedPartioner.isInstance(document.getDocumentPartitioner()));
bufferManager.disconnect(locationPath, null);
// doTestCreateWithFacade(file, expectedDocumentClass, expectedPartioner);
}
/**
* @param file
* @param expectedDocumentClass
* @param expectedPartioner
* @throws CoreException
* @throws IOException
*/
// private void doTestCreateWithFacade(IFile file, Class expectedDocumentClass, Class expectedPartioner) throws IOException, CoreException {
// DocumentLoaderForXML documentLoaderForXML = new DocumentLoaderForXML();
// IDocument document = documentLoaderForXML.createNewStructuredDocument(file, null);
// Assert.assertNotNull(document);
// }
private void doTestCreateCreateEmpty(String filePath, Class expectedDocumentClass, Class expectedPartioner) throws CoreException {
IFile file = (IFile) fTestProject.findMember(filePath);
assertTrue("Test Case in error. Non-existent file existed! " + filePath, file == null);
IPath locationPath = new Path(filePath);
IFile nonExistingFile = fTestProject.getFile(locationPath);
locationPath = nonExistingFile.getFullPath();
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
// can not "connect" to non-existant location
//bufferManager.connect(locationPath, null);
IDocument document = bufferManager.createEmptyDocument(locationPath);
assertNotNull(document);
assertTrue("wrong class of document", expectedDocumentClass.isInstance(document));
assertTrue("wrong partitioner in document", expectedPartioner.isInstance(document.getDocumentPartitioner()));
bufferManager.disconnect(locationPath, null);
}
public void testFile103() throws CoreException, IOException {
doTestCreate("testfiles/xml/EmptyFile.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile104() throws CoreException, IOException {
doTestCreate("testfiles/xml/eucjp.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile105() throws CoreException, IOException {
doTestCreate("testfiles/xml/IllformedNormalNonDefault.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile106() throws CoreException, IOException {
doTestCreate("testfiles/xml/MalformedNoEncoding.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile107() throws CoreException, IOException {
doTestCreate("testfiles/xml/MalformedNoEncoding.xsl", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile108() throws CoreException, IOException {
doTestCreate("testfiles/xml/NoEncoding.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile109() throws CoreException, IOException {
doTestCreate("testfiles/xml/NormalNonDefault.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile110() throws CoreException, IOException {
doTestCreate("testfiles/xml/shiftjis.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile111() throws CoreException, IOException {
doTestCreate("testfiles/xml/testExtraJunk.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile112() throws CoreException, IOException {
doTestCreate("testfiles/xml/testExtraValidStuff.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile113() throws CoreException, IOException {
doTestCreate("testfiles/xml/testIllFormed.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile114() throws CoreException, IOException {
doTestCreate("testfiles/xml/testIllFormed2.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile115() throws CoreException, IOException {
doTestCreate("testfiles/xml/testIllFormed3.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile116() throws CoreException, IOException {
doTestCreate("testfiles/xml/testIllFormed4.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile117() throws CoreException, IOException {
doTestCreate("testfiles/xml/testMultiLine.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile118() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNoEncodingValue.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile119() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNormalCase.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile120() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNoXMLDecl.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile121() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNoXMLDeclAtFirst.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile122() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNoXMLDeclInLargeFile.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile123() throws CoreException, IOException {
doTestCreate("testfiles/xml/testUTF16.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile124() throws CoreException, IOException {
doTestCreate("testfiles/xml/UTF16LEAtStartOfLargeFile.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile125() throws CoreException, IOException {
doTestCreate("testfiles/xml/utf16UnicodeStreamWithNoEncodingInHeader2.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile126() throws CoreException, IOException {
doTestCreate("testfiles/xml/utf16UnicodeStreamWithNoEncodingInHeaderBE.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile127() throws CoreException, IOException {
doTestCreate("testfiles/xml/utf16WithJapaneseChars.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testFile128() throws CoreException, IOException {
doTestCreate("testfiles/xml/UTF8With3ByteBOM.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testNonExistentXML() throws CoreException {
doTestCreateCreateEmpty("testfiles/xml/testnonexistent.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
public void testSimpleCase() throws CoreException, IOException {
doTestCreate("testfiles/xml/testNormalCase.xml", BasicStructuredDocument.class, StructuredTextPartitionerForXML.class);
}
/*
public void testFile1() throws CoreException, IOException {
doTestCreate("testfiles/css/emptyFile.css", BasicStructuredDocument.class, StructuredTextPartitionerForCSS.class);
}
public void testFile70() throws CoreException, IOException {
doTestCreate("testfiles/jsp/MalformedNoEncodingXSL.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile81() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testBrokenLine.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile82() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testDefaultEncoding.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile83() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testDefaultEncodingWithJunk.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile84() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testExtraJunk.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile85() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testExtraValidStuff.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile86() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testIllFormed.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile87() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testIllFormed2.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile88() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testNoEncodingValue.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile89() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testNoPageDirective.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile90() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testNoPageDirectiveAtFirst.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile91() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testNoPageDirectiveInLargeFile.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile92() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testNormalCase.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile93() throws CoreException, IOException {
doTestCreate("testfiles/jsp/testUTF16.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile94() throws CoreException, IOException {
doTestCreate("testfiles/jsp/utf16UnicodeStreamWithNoEncodingInHeader2.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile95() throws CoreException, IOException {
doTestCreate("testfiles/jsp/utf16UnicodeStreamWithNoEncodingInHeaderBE.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile96() throws CoreException, IOException {
doTestCreate("testfiles/jsp/utf16WithJapaneseChars.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile97() throws CoreException, IOException {
doTestCreate("testfiles/jsp/UTF8With3ByteBOM.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile98() throws CoreException, IOException {
doTestCreate("testfiles/jsp/WellFormedNormalNonDefault.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile99() throws CoreException, IOException {
doTestCreate("testfiles/regressionTestFiles/defect223365/SelColBeanRow12ResultsForm.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile100() throws CoreException, IOException {
doTestCreate("testfiles/regressionTestFiles/defect223365/SelColBeanRow12ResultsFormB.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile101() throws CoreException, IOException {
doTestCreate("testfiles/regressionTestFiles/defect224293/testshiftjisXmlSyntax.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile102() throws CoreException, IOException {
doTestCreate("testfiles/regressionTestFiles/defect229667/audi.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile71() throws CoreException, IOException {
doTestCreate("testfiles/jsp/noEncoding.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile72() throws CoreException, IOException {
doTestCreate("testfiles/jsp/NoEncodinginXMLDecl.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile73() throws CoreException, IOException {
doTestCreate("testfiles/jsp/nomalDirectiveCase.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile74() throws CoreException, IOException {
doTestCreate("testfiles/jsp/nomalDirectiveCaseNoEncoding.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile75() throws CoreException, IOException {
doTestCreate("testfiles/jsp/nomalDirectiveCaseUsingCharset.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile76() throws CoreException, IOException {
doTestCreate("testfiles/jsp/nomalDirectiveCaseUsingXMLSyntax.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile77() throws CoreException, IOException {
doTestCreate("testfiles/jsp/NormalNonDefault.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile78() throws CoreException, IOException {
doTestCreate("testfiles/jsp/NormalNonDefaultWithXMLDecl.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile79() throws CoreException, IOException {
doTestCreate("testfiles/jsp/NormalPageCaseNonDefault.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
public void testFile80() throws CoreException, IOException {
doTestCreate("testfiles/jsp/SelColBeanRow12ResultsForm.jsp", BasicStructuredDocument.class, StructuredTextPartitionerForJSP.class);
}
*/
}