GetPrintJobHeadless.java revision 8729:0242fce0f717
1/*
2 * Copyright (c) 2011, 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 */
23
24/*
25@test
26@bug 7023011
27@library ../../../regtesthelpers
28@build Sysout
29@summary Toolkit.getPrintJob() throws wrong exceptions
30@author andrei dmitriev: area=awt.headless
31@run main/othervm -Djava.awt.headless=true GetPrintJobHeadless
32 */
33
34/*
35 * In headless mode we should always getting NPE on the getPrintJob() call
36 */
37import java.awt.*;
38import java.util.Properties;
39import test.java.awt.regtesthelpers.Sysout;
40
41public class GetPrintJobHeadless {
42
43    public static void main(String[] s) {
44        boolean stage1Passed = false;
45        boolean stage2Passed = false;
46
47        try {
48            Toolkit.getDefaultToolkit().getPrintJob(
49                    (Frame) null, "title", new Properties());
50        } catch (NullPointerException e) {
51            stage1Passed = true;
52            e.printStackTrace();
53            Sysout.println("Stage 1 passed. getPrintJob(null, String, property) has thrown NPE.");
54        }
55        if (!stage1Passed) {
56            throw new RuntimeException("getPrintJob() should have thrown NPE but didn't.");
57        }
58
59        try {
60            Toolkit.getDefaultToolkit().getPrintJob(
61                    (Frame) null, "title", new JobAttributes(), new PageAttributes());
62        } catch (NullPointerException e) {
63            stage2Passed = true;
64            e.printStackTrace();
65            Sysout.println("Stage 2 passed. getPrintJob(null, String, jobAttrs, pageAttr) has thrown  NPE.");
66        }
67        if (!stage2Passed) {
68            throw new RuntimeException("getPrintJob() should have thrown NPE but didn't.");
69        }
70
71        Sysout.println("Test PASSED");
72    }
73}
74