1/*
2 * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23package javax.xml.transform.ptests.othervm;
24
25import static jaxp.library.JAXPTestUtilities.setSystemProperty;
26
27import static org.testng.Assert.fail;
28
29import javax.xml.transform.TransformerFactory;
30import javax.xml.transform.TransformerFactoryConfigurationError;
31
32import org.testng.annotations.Listeners;
33import org.testng.annotations.Test;
34
35/**
36 * Negative test for set invalid TransformerFactory property.
37 */
38/*
39 * @test
40 * @library /javax/xml/jaxp/libs
41 * @run testng/othervm -DrunSecMngr=true javax.xml.transform.ptests.othervm.TFCErrorTest
42 * @run testng/othervm javax.xml.transform.ptests.othervm.TFCErrorTest
43 */
44@Listeners({jaxp.library.BasePolicy.class})
45public class TFCErrorTest {
46    @Test(expectedExceptions = ClassNotFoundException.class)
47    public void tfce01() throws Exception {
48        try{
49            setSystemProperty("javax.xml.transform.TransformerFactory","xx");
50            TransformerFactory.newInstance();
51            fail("Expect TransformerFactoryConfigurationError here");
52        } catch (TransformerFactoryConfigurationError expected) {
53            throw expected.getException();
54        }
55    }
56}
57