summaryrefslogtreecommitdiffstats
path: root/dom/src/test/java/org/w3c/domts/level3/core/TestXercesAltConfig.java
blob: b7dc2a91ec28288e131a8cde3d96df2d8cda11f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 * Copyright (c) 2001-2003 World Wide Web Consortium, (Massachusetts Institute
 * of Technology, Institut National de Recherche en Informatique et en
 * Automatique, Keio University). All Rights Reserved. This program is
 * distributed under the W3C's Software Intellectual Property License. This
 * program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See W3C License
 * http://www.w3.org/Consortium/Legal/ for more details.
 */

package org.w3c.domts.level3.core;

import java.lang.reflect.Constructor;

import junit.framework.TestSuite;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.domts.DOMTestDocumentBuilderFactory;
import org.w3c.domts.DOMTestSuite;
import org.w3c.domts.JAXPDOMTestDocumentBuilderFactory;
import org.w3c.domts.JUnitTestSuiteAdapter;

/**
 * Test suite that runs all DOM L3 Core tests using the
 * Xerces-J in an alternative configuration.
 * 
 * @author Curt Arnold
 * 
 */
public class TestXercesAltConfig extends TestSuite {

	public static TestSuite suite() throws Exception {
		Class testClass =
			ClassLoader.getSystemClassLoader().loadClass(
				"org.w3c.domts.level3.core.alltests");
		Constructor testConstructor =
			testClass.getConstructor(
				new Class[] { DOMTestDocumentBuilderFactory.class });

		DocumentBuilderFactory xercesFactory =
			(DocumentBuilderFactory) ClassLoader
				.getSystemClassLoader()
				.loadClass("org.apache.xerces.jaxp.DocumentBuilderFactoryImpl")
				.newInstance();

		DOMTestDocumentBuilderFactory factory =
			new JAXPDOMTestDocumentBuilderFactory(
				xercesFactory,
				JAXPDOMTestDocumentBuilderFactory.getConfiguration2());

		Object test = testConstructor.newInstance(new Object[] { factory });

		return new JUnitTestSuiteAdapter((DOMTestSuite) test);
	}

}