You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/10/09 07:33:21 UTC
svn commit: r454289 [20/22] - in
/incubator/harmony/enhanced/classlib/trunk/modules/H-1609: ./ modules/
modules/applet/ modules/applet/src/ modules/applet/src/main/
modules/applet/src/main/java/ modules/applet/src/main/java/java/
modules/applet/src/mai...
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupDefaultPrintServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupDefaultPrintServiceTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupDefaultPrintServiceTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupDefaultPrintServiceTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import java.io.InputStream;
+
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.standard.Copies;
+import javax.print.attribute.standard.MediaName;
+import javax.print.attribute.standard.MediaSizeName;
+import javax.print.attribute.standard.Sides;
+
+import junit.framework.TestCase;
+
+public class LookupDefaultPrintServiceTest extends TestCase {
+ public void testLookupDefaultPrintService() {
+ System.out
+ .println("======= START LookupDefaultPrintServiceTest ======");
+
+ DocFlavor psFlavor = DocFlavor.INPUT_STREAM.GIF;
+ PrintService service;
+ InputStream fis;
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ HashDocAttributeSet daset = new HashDocAttributeSet();
+ DocPrintJob pj;
+ Doc doc;
+
+ aset.add(new Copies(2));
+ aset.add(MediaSizeName.ISO_A4);
+ daset.add(MediaName.ISO_A4_WHITE);
+ daset.add(Sides.TWO_SIDED_LONG_EDGE);
+
+ try {
+ service = PrintServiceLookup.lookupDefaultPrintService();
+ if (service != null) {
+ if (service.isDocFlavorSupported(psFlavor)) {
+ if (service.getUnsupportedAttributes(psFlavor, aset)==null) {
+ fis = this.getClass().getResourceAsStream(
+ "/Resources/GIF.gif");
+ doc = new SimpleDoc(fis, psFlavor, daset);
+
+ pj = service.createPrintJob();
+ pj.print(doc, aset);
+ System.out.println(fis.toString() + " printed on "
+ + service.getName());
+ }
+ } else {
+ System.out.println("flavor is not supported");
+ }
+ } else {
+ System.out.println("service not found");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ System.out.println("======= END LookupDefaultPrintServiceTest =======");
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupDefaultPrintServiceTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupMultiDocPrintServicesTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupMultiDocPrintServicesTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupMultiDocPrintServicesTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupMultiDocPrintServicesTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import java.io.FileInputStream;
+
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.standard.Copies;
+import javax.print.attribute.standard.MediaName;
+import javax.print.attribute.standard.MediaSizeName;
+import javax.print.attribute.standard.Sides;
+
+import junit.framework.TestCase;
+
+public class LookupMultiDocPrintServicesTest extends TestCase {
+ public void testLookupMultiDocPrintServices() {
+ System.out
+ .println("============= START LookupMultiDocPrintServicesTest ================");
+
+ DocFlavor psFlavor = DocFlavor.INPUT_STREAM.GIF;
+ MultiDocPrintService[] services;
+ FileInputStream fis;
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ HashDocAttributeSet daset = new HashDocAttributeSet();
+ DocPrintJob pj;
+ Doc doc;
+
+ aset.add(new Copies(2));
+ aset.add(MediaSizeName.ISO_A4);
+ daset.add(MediaName.ISO_A4_WHITE);
+ daset.add(Sides.TWO_SIDED_LONG_EDGE);
+
+ try {
+ services = PrintServiceLookup.lookupMultiDocPrintServices(
+ new DocFlavor[] { psFlavor }, aset);
+ if (services != null && services.length > 0) {
+ fis = new FileInputStream("/Resources/1M.GIF");
+ doc = new SimpleDoc(fis, psFlavor, daset);
+
+ pj = services[0].createPrintJob();
+ pj.print(doc, aset);
+ System.out.println(fis.toString() + " printed on "
+ + services[0].getName());
+ } else {
+ System.out.println("services not found");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ System.out
+ .println("============= END LookupMultiDocPrintServicesTest ================");
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupMultiDocPrintServicesTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupPrintServicesTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupPrintServicesTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupPrintServicesTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupPrintServicesTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import java.io.InputStream;
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+
+import junit.framework.TestCase;
+
+public class LookupPrintServicesTest extends TestCase {
+ public void testLookupPrintServices() {
+ System.out.println("======== START LookupPrintServicesTest ========");
+
+ PrintService[] services;
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ HashDocAttributeSet daset = new HashDocAttributeSet();
+ DocPrintJob pj;
+ Doc doc;
+
+ Object[][] filetoprint = { { "/Resources/JPEG.jpg",
+ DocFlavor.INPUT_STREAM.JPEG },
+ { "/Resources/GIF.gif", DocFlavor.INPUT_STREAM.GIF } };
+ try {
+ DocFlavor df;
+ InputStream fis;
+
+ for (int i = 0; i < filetoprint.length; i++) {
+ df = (DocFlavor) filetoprint[i][1];
+
+ services = PrintServiceLookup.lookupPrintServices(df, aset);
+ TestUtil.checkServices(services);
+
+ for (int j = 0; j < services.length; j++) {
+ fis = this.getClass().getResourceAsStream(
+ (String) filetoprint[i][0]);
+ doc = new SimpleDoc(fis, df, daset);
+ PrintService printer = services[j];
+
+ pj = printer.createPrintJob();
+ pj.print(doc, aset);
+ System.out.println(fis.toString() + " printed on "
+ + printer.getName());
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ System.out.println("====== END LookupPrintServicesTest ========");
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/LookupPrintServicesTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintAutosenseTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintAutosenseTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintAutosenseTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintAutosenseTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import java.io.InputStream;
+
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.standard.MediaSizeName;
+
+import junit.framework.TestCase;
+
+public class PrintAutosenseTest extends TestCase {
+ public static void main(String[] args) {
+ new PrintAutosenseTest().testPrintAutosense();
+ }
+
+ public void testPrintAutosense() {
+ System.out.println("======== START PrintAutosenseTest ========");
+
+ PrintService[] services;
+ HashDocAttributeSet daset = new HashDocAttributeSet();
+ DocPrintJob pj;
+ Doc doc;
+
+ daset.add(MediaSizeName.ISO_A4);
+
+ try {
+ DocFlavor df = DocFlavor.INPUT_STREAM.AUTOSENSE;
+ InputStream fis = this.getClass().getResourceAsStream(
+ "/Resources/hello_ps.ps");
+ services = PrintServiceLookup.lookupPrintServices(df, null);
+ TestUtil.checkServices(services);
+
+ for (int j = 0; j < services.length; j++) {
+ PrintService printer = services[j];
+ if (printer.toString().indexOf("print-to-file") >= 0) {
+ doc = new SimpleDoc(fis, df, null);
+
+ pj = printer.createPrintJob();
+ pj.print(doc, null);
+ System.out.println(fis.toString() + " printed on "
+ + printer.getName());
+ break;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ System.out.println("====== END PrintAutosenseTest ========");
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintAutosenseTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintJpegTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintJpegTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintJpegTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintJpegTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import java.io.InputStream;
+
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.standard.MediaSizeName;
+
+import junit.framework.TestCase;
+
+public class PrintJpegTest extends TestCase {
+ public static void main(String[] args) {
+ new PrintJpegTest().testPrintJpeg();
+ }
+
+ public void testPrintJpeg() {
+ System.out.println("======== START PrintJpegTest ========");
+
+ PrintService[] services;
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ HashDocAttributeSet daset = new HashDocAttributeSet();
+ DocPrintJob pj;
+ Doc doc;
+
+ daset.add(MediaSizeName.ISO_A4);
+
+ try {
+ DocFlavor df = DocFlavor.INPUT_STREAM.JPEG;
+ InputStream fis = this.getClass().getResourceAsStream(
+ "/Resources/JPEG.jpg");
+ services = PrintServiceLookup.lookupPrintServices(df, aset);
+ TestUtil.checkServices(services);
+
+ for (int j = 0; j < services.length; j++) {
+ PrintService printer = services[j];
+ if (printer.toString().indexOf("print-to-file") >= 0) {
+ doc = new SimpleDoc(fis, df, daset);
+
+ pj = printer.createPrintJob();
+ pj.print(doc, aset);
+ System.out.println(fis.toString() + " printed on "
+ + printer.getName());
+ break;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ System.out.println("====== END PrintJpegTest ========");
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintJpegTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,228 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.3 $
+ */
+
+package javax.print;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Locale;
+
+import javax.print.attribute.DocAttributeSet;
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.standard.Copies;
+import javax.print.attribute.standard.DocumentName;
+import javax.print.attribute.standard.JobName;
+import javax.print.attribute.standard.MediaName;
+import javax.print.attribute.standard.RequestingUserName;
+
+import junit.framework.TestCase;
+
+public class PrintTest extends TestCase {
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(PrintTest.class);
+ }
+
+ public void testPrintSomething() {
+ /*Authenticator.setDefault(new PrintTestAuth());*/
+
+ boolean testrun = true;
+
+ System.out.println("============= START PrintTest ================");
+ //if ((System.getProperty("os.name")).toLowerCase().indexOf("linux") >= 0) {
+ if (!testrun) {
+ System.out.println("The test is always pass temporary.");
+ System.out.println("============= END PrintTest ================");
+ return;
+ }
+
+ String file_txt = "/Resources/readme.txt";
+ String file_gif = "/Resources/printservice.gif";
+ String http_gif = "";
+ String http_ps = "";
+
+ PrintService[] services = PrintServiceLookup.lookupPrintServices(null,
+ null);
+ TestUtil.checkServices(services);
+
+ PrintService service = PrintServiceLookup.lookupDefaultPrintService();
+
+ System.out.println("Default: "
+ + (service == null ? "null" : service.getName()));
+
+ System.out.println("Print services:");
+ for (int i = 0; i < services.length; i++) {
+ System.out.println("\t" + services[i].getName());
+ }
+
+ DocAttributeSet dset = new HashDocAttributeSet();
+ dset.add(new DocumentName("print doc name", Locale.US));
+
+ PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
+ aset.add(new Copies(3));
+ aset.add(MediaName.ISO_A4_WHITE);
+ aset.add(new RequestingUserName("ichebyki", Locale.US));
+
+ try {
+ PrintService serv = services[0];
+ InputStream stream;
+ DocFlavor flavor;
+ DocPrintJob job;
+ Doc doc;
+ URL url;
+ Reader rdr;
+
+ try {
+ flavor = DocFlavor.URL.PDF;//TEXT_HTML_HOST;
+ if (serv.isDocFlavorSupported(flavor)) {
+ aset.add(new JobName(flavor.toString(), Locale.US));
+ dset.add(new DocumentName(http_ps, Locale.US));
+ job = serv.createPrintJob();
+ url = new URL(http_ps);
+ doc = new SimpleDoc(url, flavor, dset);
+ System.out.println("\nPrinting on "
+ + job.getPrintService().getName() + "...");
+ job.print(doc, aset);
+ System.out.println("File '" + http_ps + "' was printed as "
+ + flavor.getRepresentationClassName());
+ }
+
+ flavor = DocFlavor.URL.GIF;
+ if (serv.isDocFlavorSupported(flavor)) {
+ aset.add(new JobName(flavor.toString(), Locale.US));
+ dset.add(new DocumentName(http_gif, Locale.US));
+ job = serv.createPrintJob();
+ url = new URL(http_gif);
+ doc = new SimpleDoc(url, flavor, dset);
+ System.out.println("\nPrinting on "
+ + job.getPrintService().getName() + "...");
+ job.print(doc, aset);
+ System.out.println("File '" + http_gif + "' was printed as "
+ + flavor.getRepresentationClassName());
+ }
+ } catch (PrintException e1) {
+ e1.printStackTrace();
+ }
+
+ flavor = DocFlavor.READER.TEXT_PLAIN;
+ if (serv.isDocFlavorSupported(flavor)) {
+ aset.add(new JobName(flavor.toString(), Locale.US));
+ dset.add(new DocumentName(file_txt, Locale.US));
+ job = serv.createPrintJob();
+ rdr = new InputStreamReader(getClass().getResourceAsStream(
+ file_txt));
+ doc = new SimpleDoc(rdr, flavor, dset);
+ System.out.println("Printing on "
+ + job.getPrintService().getName() + "...");
+ job.print(doc, aset);
+ System.out.println("File '" + file_txt + "' was printed as "
+ + flavor.getRepresentationClassName());
+ }
+
+ flavor = DocFlavor.INPUT_STREAM.GIF;
+ if (serv.isDocFlavorSupported(flavor)) {
+ aset.add(new JobName(flavor.toString(), Locale.US));
+ dset.add(new DocumentName(file_gif, Locale.US));
+ job = serv.createPrintJob();
+ stream = getClass().getResourceAsStream(file_gif);
+ doc = new SimpleDoc(stream, flavor, dset);
+ System.out.println("\nPrinting on "
+ + job.getPrintService().getName() + "...");
+ job.print(doc, aset);
+ System.out.println("File '" + file_gif + "' was printed as "
+ + flavor.getRepresentationClassName());
+ }
+
+ flavor = DocFlavor.BYTE_ARRAY.JPEG;
+ if (serv.isDocFlavorSupported(flavor)) {
+ aset.add(new JobName(flavor.toString(), Locale.US));
+ dset.add(new DocumentName(file_gif, Locale.US));
+ job = serv.createPrintJob();
+ stream = getClass().getResourceAsStream(file_gif);
+ byte[] gif_buf;
+ byte[] buf = new byte[1024];
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ int count;
+ while ((count = stream.read(buf, 0, 1024)) > 0) {
+ baos.write(buf, 0, count);
+ }
+ stream.close();
+ gif_buf = baos.toByteArray();
+ baos.close();
+ doc = new SimpleDoc(gif_buf, flavor, dset);
+ System.out.println("\nPrinting on "
+ + job.getPrintService().getName() + "...");
+ job.print(doc, aset);
+ System.out.println("File '" + file_gif + "' was printed as "
+ + flavor.getRepresentationClassName());
+ }
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ fail("Unexpected exception occured!\n" + e.getLocalizedMessage());
+ } catch (PrintException e) {
+ e.printStackTrace();
+ fail("PrintException occured!\n" + e.getLocalizedMessage());
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Unexpected exception occured!\n" + e.getLocalizedMessage());
+ }
+
+ System.out.println("============= END PrintTest ================");
+ }
+
+ /*
+ * For authentication
+ * uncomment when swing will support JTextField and etc.
+ */
+ /*
+ class PrintTestAuth extends Authenticator {
+ protected PasswordAuthentication getPasswordAuthentication() {
+ JTextField username = new JTextField();
+ JTextField password = new JPasswordField();
+ JPanel panel = new JPanel(new GridLayout(2, 2));
+ panel.add(new JLabel("Login"));
+ panel.add(username);
+ panel.add(new JLabel("Password"));
+ panel.add(password);
+ int option = JOptionPane.CANCEL_OPTION;
+
+ option = JOptionPane.showConfirmDialog(null,
+ new Object[] { "Site: " + getRequestingHost(),
+ "Realm: " + getRequestingPrompt(),
+ panel }, "Enter Network Password",
+ JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
+ if (option == JOptionPane.OK_OPTION) {
+ String user = username.getText();
+ char pass[] = password.getText().toCharArray();
+ return new PasswordAuthentication(user, pass);
+ }
+
+ return null;
+ }
+ }
+ */
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/PrintTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUIFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUIFactoryTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUIFactoryTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUIFactoryTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Irina A. Arkhipets
+ * @version $Revision: 1.2 $
+ */
+
+/*
+ * ServiceUIFactoryTest.java
+ *
+ * JUnit tests for javax.print.ServiceUIFactory
+ *
+ */
+
+package javax.print;
+
+import junit.framework.TestCase;
+
+public class ServiceUIFactoryTest extends TestCase {
+public void testStaticFields() {
+ assertTrue(ServiceUIFactory.ABOUT_UIROLE == 1);
+ assertTrue(ServiceUIFactory.ADMIN_UIROLE == 2);
+ assertTrue(ServiceUIFactory.MAIN_UIROLE == 3);
+ assertTrue(ServiceUIFactory.RESERVED_UIROLE == 99);
+ assertEquals(ServiceUIFactory.DIALOG_UI, "java.awt.Dialog");
+ assertEquals(ServiceUIFactory.JCOMPONENT_UI, "javax.swing.JComponent");
+ assertEquals(ServiceUIFactory.JDIALOG_UI, "javax.swing.JDialog");
+ assertEquals(ServiceUIFactory.PANEL_UI, "java.awt.Panel");
+}
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUIFactoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUITests.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUITests.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUITests.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUITests.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Irina A. Arkhipets
+ * @version $Revision: 1.3 $
+ */
+
+/*
+ * ServiceUITests.java
+ *
+ * JUnit tests for javax.print.ServiceUI class
+ *
+ */
+
+package javax.print;
+
+import javax.print.attribute.HashPrintRequestAttributeSet;
+
+import junit.framework.TestCase;
+
+public class ServiceUITests extends TestCase {
+
+private PrintService [] services = null;
+private HashPrintRequestAttributeSet attrs = null;
+
+protected void setUp() throws Exception {
+ services = PrintServiceLookup.lookupPrintServices(
+ DocFlavor.INPUT_STREAM.GIF, null);
+ attrs = new HashPrintRequestAttributeSet();
+}
+
+/*
+ * Throws IllegalArgumentException if services array is null
+*/
+public void testPrintDialog1() {
+ try {
+ ServiceUI.printDialog(null,
+ 5,
+ 5,
+ null,
+ null,
+ null,
+ attrs);
+ fail();
+ } catch (IllegalArgumentException e) {
+ /* IllegalArgimentException is expected here, so the test passes */
+ }
+}
+
+/*
+ * Throws IllegalArgumentException if services array is or empty
+*/
+public void testPrintDialog2() {
+ try {
+ ServiceUI.printDialog(null,
+ 5,
+ 5,
+ new PrintService [] {},
+ null,
+ null,
+ attrs);
+ fail();
+ } catch (IllegalArgumentException e) {
+ /* IllegalArgimentException is expected here, so the test passes */
+ }
+}
+
+/*
+ * Throws IllegalArgumentException if attributes is null
+*/
+public void testPrintDialog3() {
+ try {
+ ServiceUI.printDialog(null,
+ 5,
+ 5,
+ services,
+ null,
+ null,
+ null);
+ fail();
+ } catch (IllegalArgumentException e) {
+ /* IllegalArgimentException is expected here, so the test passes */
+ }
+}
+
+/*
+ * Throws IllegalArgumentException if initial PrintService
+ * is not in the list of browsable services
+*/
+public void testPrintDialog4() {
+ if ((services != null) && (services.length > 1)) {
+ PrintService [] s1 = new PrintService [services.length-1];
+ for (int i = 0; i < services.length - 1; i++) {
+ s1[i] = services[i];
+ }
+ try {
+ ServiceUI.printDialog(null,
+ 5,
+ 5,
+ s1,
+ services[services.length - 1],
+ null,
+ null);
+ fail();
+ } catch (IllegalArgumentException e) {
+ /* IllegalArgimentException is expected here, so the test passes */
+ }
+ }
+}
+
+} /* End of ServiceUITests */
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ServiceUITests.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/TestUtil.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/TestUtil.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/TestUtil.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/TestUtil.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Igor A. Pyankov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.print;
+
+import junit.framework.TestCase;
+
+public class TestUtil extends TestCase {
+ public void testFakeTest() {
+ // fake test case
+ }
+
+ public static void checkServices(PrintService[] srvs) {
+ assertNotNull(
+ "\nPrintServiceLookup.lookupPrintServices must return non-null value",
+ srvs);
+ if (srvs.length == 0) {
+ String szerr = "\nNo printers found.";
+ String os = System.getProperty("os.name");
+
+ if (os == null) {
+ szerr += "\nPlease add printer on localhost.";
+ } else if (os.toLowerCase().indexOf("windows") >= 0) {
+ szerr += "\nPlease add printer on localhost.";
+ } else if (os.toLowerCase().indexOf("linux") >= 0) {
+ szerr += "\nPlease install CUPS and create printers on localhost";
+ }
+ szerr += "\nYou can use "
+ + "'print.cups.servers' and/or 'print.ipp.printers' \n"
+ + "properties to specify CUPS servers and/or IPP printers.\n"
+ + "Usage: \n"
+ + " print.cups.servers=http://<cups-server1>:<port1>,...\n"
+ + " print.ipp.printers=http://<ipp-server1>:<port1>/path/to/printer1,...\n";
+ fail(szerr);
+ }
+ }
+
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/TestUtil.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ValueTests.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ValueTests.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ValueTests.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ValueTests.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,586 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Irina A. Arkhipets
+ * @version $Revision: 1.3 $
+ */
+
+/*
+ * ValueTests.java
+ *
+ * JUnit not-interactive Value tests for "Hello, World!" version (javax.print
+ * package only).
+ *
+ */
+
+package javax.print;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.util.Locale;
+import java.util.Vector;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.DocAttributeSet;
+import javax.print.attribute.HashDocAttributeSet;
+import javax.print.attribute.HashPrintJobAttributeSet;
+import javax.print.attribute.HashPrintRequestAttributeSet;
+import javax.print.attribute.HashPrintServiceAttributeSet;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintJobAttributeSet;
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.PrintServiceAttributeSet;
+import javax.print.attribute.standard.ColorSupported;
+import javax.print.attribute.standard.Copies;
+import javax.print.attribute.standard.MediaName;
+import javax.print.attribute.standard.OrientationRequested;
+import javax.print.attribute.standard.PrintQuality;
+import javax.print.attribute.standard.PrinterLocation;
+
+import junit.framework.TestCase;
+
+public class ValueTests extends TestCase {
+
+private static String OS = null;
+
+static {
+ try {
+ OS = System.getProperty("os.name");
+ if (OS.startsWith("Windows")) {
+ System.loadLibrary("ValueTestsLibrary");
+ }
+ } catch (Exception e) {
+ if (OS == null) {
+ System.out.println("WARNING: Can not get Operation System name!");
+ } else {
+ if (OS.startsWith("Windows")) {
+ System.out.println(
+ "WARNING! Can not load ValueTestsLibrary library!");
+ }
+ }
+ System.out.println("Some testcases probably will not be started!");
+ }
+}
+
+public void testDocFlavor() {
+ startTest("DocFlavor class testing...");
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ assertEquals(flavor, new DocFlavor.INPUT_STREAM("image/gif"));
+ assertEquals(flavor.getMediaSubtype(), "gif");
+ assertEquals(flavor.getMediaType(), "image");
+ assertEquals(flavor.getMimeType(), "image/gif");
+ assertEquals(flavor.getRepresentationClassName(), "java.io.InputStream");
+ assertEquals(flavor.toString(),
+ "image/gif; class=\"java.io.InputStream\"");
+}
+
+public void testSimpleDoc() {
+ startTest("SimpleDoc class testing...");
+
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ InputStream reader =
+ getClass().getResourceAsStream("/Resources/picture.gif");
+ if (reader == null) {
+ fail("/Resources/picture.gif resource is not found!");
+ }
+
+ DocAttributeSet aSet = new HashDocAttributeSet();
+ Doc doc = new SimpleDoc(reader, flavor, aSet);
+
+ assertEquals(doc.getAttributes(), aSet);
+ aSet.add(OrientationRequested.LANDSCAPE);
+ aSet.add(MediaName.NA_LETTER_WHITE);
+ assertEquals(doc.getAttributes(), aSet);
+ assertEquals(doc.getDocFlavor(), DocFlavor.INPUT_STREAM.GIF);
+ try {
+ assertTrue(doc.getPrintData() instanceof java.io.InputStream);
+ assertEquals(doc.getReaderForText(), null);
+ assertEquals(doc.getStreamForBytes(), reader);
+ } catch(Exception e) {
+ e.printStackTrace();
+ fail("Exception found: "+e);
+ }
+}
+
+public void testDefaultPrintService() {
+ boolean flg = false;
+
+ startTest("PrintService class testing...");
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ PrintRequestAttributeSet printRequestSet =
+ new HashPrintRequestAttributeSet();
+ PrintService service = getPrintService(flavor, printRequestSet);
+ DocFlavor [] flavors;
+ String myName = getDefaultPrintService();
+
+ System.out.println("OS is " + OS);
+ if (service == null) {
+ System.out.println(
+ "WARNING: Can not get print service which supports INPUT_STREAM.GIF!");
+ } else {
+ assertTrue(service.isDocFlavorSupported(flavor));
+ flavors = service.getSupportedDocFlavors();
+ for (int i = 0; i < flavors.length; i++) {
+ if (flavors[i].equals(flavor)) {
+ flg = true;
+ break;
+ }
+ }
+ assertTrue(flg);
+/* if (myName != null) {
+ assertEquals(service.getName(), myName);
+ }
+*/
+ }
+}
+
+public void testPrintJob() {
+ startTest("PrintJob class testing...");
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ PrintRequestAttributeSet printRequestSet =
+ new HashPrintRequestAttributeSet();
+ PrintService service = getPrintService(flavor, printRequestSet);
+ if (service != null) {
+ DocPrintJob job = service.createPrintJob();
+ assertEquals(job.getPrintService(), service);
+ } else {
+ System.out.println(
+ "WARNING: Can not get print service which supports INPUT_STREAM.GIF!");
+ }
+}
+
+public void testStreamServiceFactory() {
+ startTest("StreamPrintServiceFactory class testing...");
+ boolean flg = false;
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ StreamPrintServiceFactory [] aFactory = StreamPrintServiceFactory
+ .lookupStreamPrintServiceFactories(flavor, "application/postscript");
+ StreamPrintServiceFactory streamFactory=null;
+ StreamPrintService streamService;
+ DocFlavor [] flavors;
+
+ if ((aFactory == null) || (aFactory.length == 0)) {
+ fail("Can not find stream print service factory!");
+ } else {
+ streamFactory = aFactory[0];
+ }
+ streamService = streamFactory.getPrintService(new ByteArrayOutputStream());
+ assertEquals(streamFactory.getOutputFormat(), "application/postscript");
+ assertEquals(streamFactory.getPrintService(new ByteArrayOutputStream()),
+ streamService);
+ flavors = streamFactory.getSupportedDocFlavors();
+ for (int i = 0; i < flavors.length; i++) {
+ if (flavors[i].equals(flavor)) {
+ flg = true;
+ break;
+ }
+ }
+ assertTrue(flg);
+}
+
+public void testStreamPrintService() {
+ startTest("StreamPrintService class testing...");
+
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ StreamPrintServiceFactory [] aFactory = StreamPrintServiceFactory
+ .lookupStreamPrintServiceFactories(flavor, "application/postscript");
+ StreamPrintServiceFactory streamFactory = null;
+ StreamPrintService streamService;
+ DocFlavor [] flavors;
+ boolean flg = false;
+
+ if ((aFactory == null) || (aFactory.length == 0)) {
+ fail("Can not find stream print service factory!");
+ } else {
+ streamFactory = aFactory[0];
+ }
+ streamService = streamFactory.getPrintService(new ByteArrayOutputStream());
+
+ assertEquals(streamService.getOutputFormat(), "application/postscript");
+ assertTrue(streamService.isDocFlavorSupported(flavor));
+ flavors = streamService.getSupportedDocFlavors();
+ for (int i = 0; i < flavors.length; i++) {
+ if (flavors[i].equals(flavor)) {
+ flg = true;
+ break;
+ }
+ }
+ assertTrue(flg);
+ streamService.dispose();
+ assertEquals(streamService.isDisposed(), true);
+}
+
+public void testStreamServicePrinting() {
+ startTest("StreamPrintServiceFactory class testing...");
+
+ byte [] forChecking = {'%', '!', 'P', 'S', '-', 'A', 'd', 'o', 'b', 'e'};
+ DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
+ StreamPrintServiceFactory [] aFactory = StreamPrintServiceFactory
+ .lookupStreamPrintServiceFactories(flavor, "application/postscript");
+ StreamPrintServiceFactory streamFactory = null;
+ StreamPrintService streamService;
+ DocPrintJob aJob;
+ InputStream aStream =
+ getClass().getResourceAsStream("/Resources/picture.gif");
+ Doc doc;
+ byte [] arr;
+ boolean flg = true;
+
+ if ((aFactory == null) || (aFactory.length == 0)) {
+ fail("Can not find stream print service factory!");
+ } else {
+ streamFactory = aFactory[0];
+ }
+ if (aStream == null) {
+ fail("/Resources/picture.gif resource is not found!");
+ }
+
+ streamService = streamFactory.getPrintService(new ByteArrayOutputStream());
+ aJob = streamService.createPrintJob();
+ doc = new SimpleDoc(aStream, flavor, null);
+ try {
+ aJob.print(doc, null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Can not print PrintJob!");
+ }
+ arr = ((ByteArrayOutputStream) (streamService.getOutputStream()))
+ .toByteArray();
+ for (int i = 0; i < 10; i++) {
+ if(arr[i] != forChecking[i]) {
+ flg = false;
+ break;
+ }
+ }
+ assertTrue(flg);
+}
+
+public void testHashDocAttributeSet() {
+ startTest("HashDocAttributeSet class testing...");
+
+ DocAttributeSet set1 = new HashDocAttributeSet();
+ DocAttributeSet set2 =
+ new HashDocAttributeSet(OrientationRequested.LANDSCAPE);
+ DocAttributeSet set3 = new HashDocAttributeSet(set2);
+ DocAttribute [] arr = {OrientationRequested.LANDSCAPE,
+ MediaName.NA_LETTER_WHITE};
+ DocAttributeSet set4 = new HashDocAttributeSet(arr);
+ Attribute [] attrArr;
+
+ assertTrue(set1.isEmpty());
+ assertFalse(set2.isEmpty());
+ assertTrue(set3.equals(set2));
+ assertFalse(set3.equals(set1));
+ set3.clear();
+ assertEquals(set3, set1);
+ set3.add(OrientationRequested.LANDSCAPE);
+ set3.add(MediaName.NA_LETTER_WHITE);
+ assertTrue(set3.containsKey(OrientationRequested.LANDSCAPE.getClass()));
+ assertFalse(set2.containsKey(MediaName.NA_LETTER_WHITE.getClass()));
+ assertTrue(set3.containsValue(OrientationRequested.LANDSCAPE));
+ assertFalse(set3.containsValue(OrientationRequested.PORTRAIT));
+ assertFalse(set3.containsValue(PrintQuality.DRAFT));
+ assertEquals(set1.size(), 0);
+ assertEquals(set2.size(), 1);
+ assertEquals(set3.size(), 2);
+ assertTrue(set4.equals(set3));
+ assertEquals(set3.get(OrientationRequested.PORTRAIT.getClass()),
+ OrientationRequested.LANDSCAPE);
+ assertFalse((set3.get(OrientationRequested.PORTRAIT.getClass()))
+ .equals(OrientationRequested.PORTRAIT));
+ set1.addAll(set3);
+ assertEquals(set3, set1);
+ set1.remove(OrientationRequested.PORTRAIT.getClass());
+ assertEquals(set1.size(), 1);
+ attrArr = set1.toArray();
+ assertEquals(attrArr.length, 1);
+ assertEquals(attrArr[0], MediaName.NA_LETTER_WHITE);
+}
+
+public void testHashPrintJobAttributeSet() {
+ startTest("HashPrintJobAttributeSet class testing...");
+
+ PrintJobAttributeSet set1 = new HashPrintJobAttributeSet();
+ PrintJobAttributeSet set2 =
+ new HashPrintJobAttributeSet(OrientationRequested.LANDSCAPE);
+ PrintJobAttributeSet set3 = new HashPrintJobAttributeSet(set2);
+ PrintJobAttribute [] arr = {OrientationRequested.LANDSCAPE,
+ MediaName.NA_LETTER_WHITE};
+ PrintJobAttributeSet set4 = new HashPrintJobAttributeSet(arr);
+ Attribute [] attrArr;
+
+ assertTrue(set1.isEmpty());
+ assertFalse(set2.isEmpty());
+ assertTrue(set3.equals(set2));
+ assertFalse(set3.equals(set1));
+ set3.clear();
+ assertEquals(set3, set1);
+ set3.add(OrientationRequested.LANDSCAPE);
+ set3.add(MediaName.NA_LETTER_WHITE);
+ assertTrue(set3.containsKey(OrientationRequested.LANDSCAPE.getClass()));
+ assertFalse(set2.containsKey(MediaName.NA_LETTER_WHITE.getClass()));
+ assertTrue(set3.containsValue(OrientationRequested.LANDSCAPE));
+ assertFalse(set3.containsValue(OrientationRequested.PORTRAIT));
+ assertFalse(set3.containsValue(PrintQuality.DRAFT));
+ assertEquals(set1.size(), 0);
+ assertEquals(set2.size(), 1);
+ assertEquals(set3.size(), 2);
+ assertTrue(set4.equals(set3));
+ assertEquals(set3.get(OrientationRequested.PORTRAIT.getClass()),
+ OrientationRequested.LANDSCAPE);
+ assertFalse((set3.get(OrientationRequested.PORTRAIT.getClass()))
+ .equals(OrientationRequested.PORTRAIT));
+ set1.addAll(set3);
+ assertEquals(set3, set1);
+ set1.remove(OrientationRequested.PORTRAIT.getClass());
+ assertEquals(set1.size(), 1);
+ attrArr = set1.toArray();
+ assertEquals(attrArr.length, 1);
+ assertEquals(attrArr[0], MediaName.NA_LETTER_WHITE);
+}
+
+public void testHashPrintRequestAttributeSet() {
+ startTest("HashPrintRequestAttributeSet class testing...");
+
+ Copies copies = new Copies(2);
+ PrintRequestAttributeSet set1 = new HashPrintRequestAttributeSet();
+ PrintRequestAttributeSet set2 = new HashPrintRequestAttributeSet(copies);
+ PrintRequestAttributeSet set3 = new HashPrintRequestAttributeSet(set2);
+ PrintRequestAttribute [] arr = {copies,
+ MediaName.NA_LETTER_WHITE};
+ PrintRequestAttributeSet set4 = new HashPrintRequestAttributeSet(arr);
+ Attribute [] attrArr = set1.toArray();
+
+ assertTrue(set1.isEmpty());
+ assertFalse(set2.isEmpty());
+ assertTrue(set3.equals(set2));
+ assertFalse(set3.equals(set1));
+ set3.clear();
+ assertEquals(set3, set1);
+ set3.add(copies);
+ set3.add(MediaName.NA_LETTER_WHITE);
+ assertTrue(set3.containsKey(copies.getClass()));
+ assertFalse(set2.containsKey(MediaName.NA_LETTER_WHITE.getClass()));
+ assertTrue(set3.containsValue(copies));
+ assertFalse(set3.containsValue(OrientationRequested.PORTRAIT));
+ assertFalse(set3.containsValue(PrintQuality.DRAFT));
+ assertEquals(set1.size(), 0);
+ assertEquals(set2.size(), 1);
+ assertEquals(set3.size(), 2);
+ assertTrue(set4.equals(set3));
+ assertEquals(set3.get(copies.getClass()), copies);
+ set1.addAll(set3);
+ assertEquals(set3, set1);
+ set1.remove(copies.getClass());
+ assertEquals(set1.size(), 1);
+ attrArr = set1.toArray();
+ assertEquals(attrArr.length, 1);
+ assertEquals(attrArr[0], MediaName.NA_LETTER_WHITE);
+}
+
+public void testHashPrintServiceAttributeSet() {
+ startTest("HashPrintJobAttributeSet class testing...");
+
+ PrintServiceAttributeSet set1 = new HashPrintServiceAttributeSet();
+ PrintServiceAttributeSet set2 = new HashPrintServiceAttributeSet(
+ ColorSupported.SUPPORTED);
+ PrintServiceAttributeSet set3 = new HashPrintServiceAttributeSet(set2);
+ PrinterLocation location = new PrinterLocation("room 222", Locale.ENGLISH);
+ PrintServiceAttribute [] arr = { location,
+ ColorSupported.SUPPORTED };
+ PrintServiceAttributeSet set4 = new HashPrintServiceAttributeSet(arr);
+
+ assertTrue(set1.isEmpty());
+ assertFalse(set2.isEmpty());
+ assertTrue(set3.equals(set2));
+ assertFalse(set3.equals(set1));
+ set3.clear();
+ assertEquals(set3, set1);
+ set3.add(ColorSupported.SUPPORTED);
+ set3.add(location);
+ assertTrue(set3.containsKey(location.getClass()));
+ assertFalse(set2.containsKey(MediaName.NA_LETTER_WHITE.getClass()));
+ assertTrue(set4.equals(set3));
+ assertEquals(set3.get(location.getClass()), location);
+ set1.addAll(set3);
+ assertEquals(set3, set1);
+ set1.remove(location.getClass());
+ assertEquals(set1.size(), 1);
+}
+
+// ---------------------------------------------------------------------------------
+/*
+* This function search a PrintService which supports given
+* DocFlavor and PrintRequestAttributeSet.
+* If default printer supports them, this function returns default printer.
+* Overwise it returna first printer from all print services list.
+*/
+private PrintService getPrintService(DocFlavor aFlavor,
+ PrintRequestAttributeSet aSet)
+{
+ PrintService [] services =
+ PrintServiceLookup.lookupPrintServices(aFlavor, aSet);
+ PrintService defaultService =
+ PrintServiceLookup.lookupDefaultPrintService();
+
+ if (services.length <= 0) {
+ System.out.println("Can not find default print service!");
+ return null;
+ }
+ for (int i = 0; i < services.length; i++) {
+ if (services[i].equals(defaultService)) {
+ return services[i];
+ }
+ }
+ System.out.println(
+ "System Default PrintService does not support given attributes!");
+ return services[0];
+}
+
+/*
+ * This functions returns a list of the available printers
+*/
+private String[] getPrintServices() {
+ return (OS.startsWith("Windows")
+ ? getWindowsPrintServices()
+ : getLinuxPrintServices());
+}
+
+/*
+ * This native function returms Windows printers list
+ */
+private native String [] getWindowsPrintServices();
+
+/*
+* This function returns Linus printers list.
+* On Linux all CUPS printers are listed on /etc/printcap file
+*/
+private String [] getLinuxPrintServices() {
+ Vector services = new Vector();
+ String str = "";
+ short state = 0;
+ char c;
+ String [] res;
+
+ try {
+ boolean flg = true;
+ FileReader reader = new FileReader("/etc/printcap");
+ while (flg) {
+ c = (char) reader.read();
+ if (( c <= 0) || (c == 65535)) {
+ if (state == 2) {
+ services.add(str);
+ }
+ flg = false;
+ }
+ switch(state) {
+ case 0:
+ if (c == '#') {
+ state = 1;
+ } else if (Character.isLetter(c)) {
+ str = str + c;
+ state = 2;
+ }
+ break;
+ case 1:
+ if (c == '\n') {
+ state = 0;
+ str = "";
+ }
+ break;
+ case 2:
+ if ((c == '|') || (c == '\n') || (c == ' ') || (c == 9)) {
+ services.add(str);
+ str = "";
+ state = (c == '\n') ? (short) 0 : (short) 1;
+ } else {
+ str = str + c;
+ }
+ break;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ res = new String [services.size()];
+ for (int i = 0; i < services.size(); i++) {
+ res[i] = (String)services.get(i);
+ }
+
+ return res;
+}
+
+/*
+ * This function returns system default printer
+*/
+private String getDefaultPrintService() {
+ return OS.startsWith("Windows")
+ ? getDefaultWindowsPrintService()
+ : getDefaultLinuxPrintService();
+}
+
+/*
+ * This function returns Windows default printer name
+ */
+private native String getDefaultWindowsPrintService();
+
+/*
+ * This function returns Linux default printer name
+ * On Linux lpstat -d returns string like the following:
+ * "system default destination: test"
+ */
+private String getDefaultLinuxPrintService() {
+ try {
+ Process process = Runtime.getRuntime().exec(
+ "lpstat -d | grep \"system default destination\"");
+ InputStream iStream;
+ byte [] res;
+ String resStr;
+
+ process.waitFor();
+ if (process.exitValue() != 0) {
+ System.out.println("Can not exec \"lpstat -d\"");
+ return null;
+ }
+ iStream = process.getInputStream();
+ res = new byte [iStream.available()];
+ iStream.read(res);
+ resStr = new String(res);
+ if (!resStr.startsWith("system default destination: ")) {
+ System.out.println(
+ "WARNING: Can not recognize \"lpstat -d\" output:");
+ System.out.println(resStr + "\n");
+ return null;
+ }
+ // Last symbol in resStr is "\n"!
+ return resStr.substring(28, resStr.length()-1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+}
+
+private void startTest(String s) {
+ System.out.println("----------------------------------------");
+ System.out.println(s);
+}
+}
\ No newline at end of file
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/ValueTests.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/AttributeSetUtilitiesTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/AttributeSetUtilitiesTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/AttributeSetUtilitiesTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/AttributeSetUtilitiesTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Elena V. Sayapina
+ * @version $Revision: 1.3 $
+ */
+
+package javax.print.attribute;
+
+
+import javax.print.Doc;
+import javax.print.SimpleDoc;
+import javax.print.attribute.standard.ColorSupported;
+import javax.print.attribute.standard.Compression;
+import javax.print.attribute.standard.Copies;
+
+import junit.framework.TestCase;
+
+
+public class AttributeSetUtilitiesTest extends TestCase {
+
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(AttributeSetUtilitiesTest.class);
+ }
+
+ static {
+ System.out.println("AttributeSetUtilities testing...");
+ }
+
+ /*
+ * verifyAttributeCategory(Object object, Class interfaceName) method testing.
+ * Tests that method returns the same Class and no exception is thown
+ * if arguments are valid.
+ */
+ public final void testVerifyAttributeCategory() {
+
+ try {
+ assertEquals(ColorSupported.class,
+ AttributeSetUtilities.
+ verifyAttributeCategory(ColorSupported.class,
+ PrintServiceAttribute.class));
+ } catch (Exception e) {
+ fail("Unexpected was thrown: " + e.toString());
+ }
+ }
+
+ /*
+ * verifyAttributeCategory(Object object, Class interfaceName) method testing.
+ * Tests that method throws ClassCastException if object is not
+ * a Class that implements interfaceName.
+ */
+ public final void testVerifyAttributeCategory1() {
+
+ try {
+ AttributeSetUtilities.
+ verifyAttributeCategory(ColorSupported.class, DocAttribute.class);
+ fail("metod doesn't throw ClassCastException " +
+ "if object is not a Class that implements interfaceName");
+ } catch (ClassCastException e) {
+ //System.out.println("testVerifyAttributeCategory1 - " + e.toString());
+ }
+
+ }
+
+ /*
+ * verifyAttributeCategory(Object object, Class interfaceName) method testing.
+ * Tests that method throws NullPointerException if object is null.
+ */
+ public final void testVerifyAttributeCategory2() {
+
+ try {
+ Attribute att = null;
+ AttributeSetUtilities.
+ verifyAttributeCategory(att, DocAttribute.class);
+ fail("method doesn't throw NullPointerException if object is null");
+ } catch (NullPointerException e) {
+ //System.out.println("testVerifyAttributeCategory2 - " + e.toString());
+ }
+
+ }
+
+ /*
+ * verifyAttributeCategory(Object object, Class interfaceName) method testing.
+ * Tests that method throws exeption if object is a Class that implements
+ * interfaceName but interfaceName is not a class that implements interface
+ * Attribute.
+ */
+ public final void testVerifyAttributeCategory3() {
+
+ //fails in "some" invironment
+ //see AttributeSetUtilities, line 337-339
+
+ try {
+ AttributeSetUtilities.
+ verifyAttributeCategory(SimpleDoc.class, Doc.class);
+ fail("metod doesn't throw ClassCastException if object " +
+ "is a Class that implements interfaceName but " +
+ "interfaceName is not a class that implements " +
+ "interface Attribute");
+ } catch (ClassCastException e) {
+ //System.out.println("testVerifyAttributeCategory3 - " + e.toString());
+ }
+
+ }
+
+
+ /*
+ * verifyAttributeValue(Object attribute, Class interfaceName) method testing.
+ * Tests that method returns object downcasted to type Attribute and no
+ * exception is thown if arguments are valid.
+ */
+ public final void testVerifyAttributeValue() {
+
+ try {
+ PrintJobAttribute att = new Copies(10);
+ assertEquals(att,
+ AttributeSetUtilities.
+ verifyAttributeValue(att, PrintJobAttribute.class));
+ assertEquals(att,
+ AttributeSetUtilities.
+ verifyAttributeValue(att, PrintRequestAttribute.class));
+ } catch (Exception e) {
+ fail("Unexpected was thrown: " + e.toString());
+ }
+
+ }
+
+ /*
+ * verifyAttributeValue(Object attribute, Class interfaceName) method testing.
+ * Tests that method throws ClassCastException if object isn't an instance
+ * of interfaceName.
+ */
+ public final void testVerifyAttributeValue1() {
+
+ try {
+ DocAttribute att = Compression.COMPRESS;
+ AttributeSetUtilities.
+ verifyAttributeValue(att, PrintJobAttribute.class);
+
+ } catch (ClassCastException e) {
+ //System.out.println("testVerifyAttributeValue1 - " + e.toString());
+ }
+ }
+
+ /*
+ * verifyAttributeValue(Object attribute, Class interfaceName) method testing.
+ * Tests that method throws NullPointerException if object is null.
+ */
+ public final void testVerifyAttributeValue2() {
+
+ try {
+ AttributeSetUtilities.verifyAttributeValue(null, DocAttribute.class);
+ fail("method doesn't throw NullPointerException if object is null");
+ } catch (NullPointerException e) {
+ //System.out.println("testVerifyAttributeValue2 - " + e.toString());
+ }
+ }
+
+
+ /*
+ * verifyCategoryForValue(Class attributeCategory, Attribute attribute) method testing.
+ * Tests that method throws no exception if arguments are valid.
+ */
+ public final void testVerifyCategoryForValue() {
+
+ try {
+ PrintServiceAttribute att = ColorSupported.NOT_SUPPORTED;
+ AttributeSetUtilities.
+ verifyCategoryForValue(ColorSupported.class, att);
+ } catch (Exception e) {
+ fail("Unexpected was thrown: " + e.toString());
+ }
+ }
+
+ /*
+ * verifyCategoryForValue(Class attributeCategory, Attribute attribute) method testing.
+ * Tests that method throws IllegalArgumentException if the category is
+ * not equal to the category of the attribute.
+ */
+ public final void testVerifyCategoryForValue1() {
+
+ try {
+ PrintServiceAttribute att = ColorSupported.NOT_SUPPORTED;
+ AttributeSetUtilities.
+ verifyCategoryForValue(DocAttribute.class, att);
+ fail("method doesn't thrown IllegalArgumentException if the category " +
+ "is not equal to the category of the attribute.");
+ } catch (IllegalArgumentException e) {
+ //System.out.println("testVerifyCategoryForValue1 - " + e.toString());
+ }
+ }
+
+ /*
+ * verifyCategoryForValue(Class attributeCategory, Attribute attribute) method testing.
+ * Tests that method throws NullPointerException if the attribute is null.
+ */
+ public final void testVerifyCategoryForValue2() {
+
+ try {
+ AttributeSetUtilities.verifyCategoryForValue(DocAttribute.class, null);
+ fail("method doesn't throw NullPointerException if object is null");
+ } catch (NullPointerException e) {
+ //System.out.println("testVerifyCategoryForValue2 - " + e.toString());
+ }
+ }
+
+
+ /*
+ * unmodifiableView(AttributeSet attributeSet) methods testing.
+ * Tests that methods provides a client "read-only" access to the created
+ * unmodifiable view of some attribute set.
+ */
+ public final void testUnmodifiableView() {
+
+ AttributeSet aset = new HashAttributeSet();
+ aset = AttributeSetUtilities.unmodifiableView(aset);
+ try {
+ aset.add(ColorSupported.SUPPORTED);
+ aset.addAll(aset);
+ aset.clear();
+ aset.remove(ColorSupported.NOT_SUPPORTED);
+ aset.remove(ColorSupported.class);
+ fail("method doesn't throw UnmodifiableSetException if someone" +
+ "try to modify attribute set");
+ } catch (Exception e) {
+ //System.out.println("testUnmodifiableView - " + e.toString());
+ }
+ }
+
+
+ /*
+ * synchronizedView(AttributeSet attributeSet) methods testing.
+ */
+ public final void testSynchronizedView() {
+ //To-Do
+ }
+
+}
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/AttributeSetUtilitiesTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/DateTimeSyntaxTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/DateTimeSyntaxTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/DateTimeSyntaxTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/DateTimeSyntaxTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Elena V. Sayapina
+ * @version $Revision: 1.3 $
+ */
+
+package javax.print.attribute;
+
+import java.util.Date;
+
+import junit.framework.TestCase;
+
+public class DateTimeSyntaxTest extends TestCase {
+
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(DateTimeSyntaxTest.class);
+ }
+
+ static {
+ System.out.println("DateTimeSyntax testing...");
+ }
+
+ private DateTimeSyntax dts1, dts2;
+ private Date date;
+
+
+ /*
+ * DateTimeSyntax(Date date) constructor testing.
+ */
+ public final void testDateTimeSyntax() {
+
+ date = null;
+ try {
+ dts1 = new dateTimeSyntax(date);
+ fail("DateTimeSyntax(Date date) doesn't throw " +
+ "NullPointerException if date is null");
+ } catch (NullPointerException e) {
+
+ }
+ }
+
+ /*
+ * hashCode() method testing. Tests if two object are equal they must have
+ * the same hash code.
+ */
+ public final void testHashCode() {
+ date = new Date((long) Math.pow(10, 12));
+ dts1 = new dateTimeSyntax(date);
+ dts2 = new dateTimeSyntax(date);
+ assertTrue(dts1.hashCode() == dts2.hashCode());
+ }
+
+ /*
+ * hashCode() method testing. Tests if two object aren't equal they should
+ * have different hash codes.
+ */
+ public final void testHashCode1() {
+ date = new Date((long) Math.pow(10, 12));
+ dts1 = new dateTimeSyntax(date);
+ date = new Date();
+ dts2 = new dateTimeSyntax(date);
+ assertFalse(dts1.hashCode() == dts2.hashCode());
+ }
+
+ /*
+ * equals(Object object) method testing. Tests if two DateTimeSyntax
+ * objects aren't equal equals() return false.
+ */
+ public final void testEquals() {
+
+ date = new Date((long) Math.pow(10, 12));
+ dts1 = new dateTimeSyntax(date);
+ date = new Date((long) Math.pow(10, 12)-1);
+ dts2 = new dateTimeSyntax(date);
+ assertFalse(dts1.equals(dts2));
+
+
+ dts2 = null;
+ assertFalse(dts1.equals(dts2));
+ }
+
+ /*
+ * equals(Object object) method testing. Tests if two DateTimeSyntax
+ * objects are equal equals() return true.
+ */
+ public final void testEquals1() {
+
+ date = new Date();
+ dts1 = new dateTimeSyntax(date);
+ dts2 = new dateTimeSyntax(date);
+ assertTrue(dts1.equals(dts2));
+ }
+
+ /*
+ * getValue() method testing.
+ */
+ public final void testGetValue() {
+ date = new Date();
+ dts1 = new dateTimeSyntax(date);
+ assertEquals(date, dts1.getValue());
+
+ date = new Date((long) Math.pow(10, 12));
+ dts2 = new dateTimeSyntax(date);
+ assertEquals(date, dts2.getValue());
+ }
+
+ /*
+ * Auxiliary class
+ */
+ public class dateTimeSyntax extends DateTimeSyntax {
+
+ public dateTimeSyntax(Date value) {
+ super(value);
+ }
+ }
+
+
+}
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/DateTimeSyntaxTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/EnumSyntaxTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/EnumSyntaxTest.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/EnumSyntaxTest.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/EnumSyntaxTest.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,185 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Elena V. Sayapina
+ * @version $Revision: 1.3 $
+ */
+
+package javax.print.attribute;
+
+import java.io.ObjectStreamException;
+
+import junit.framework.TestCase;
+
+public class EnumSyntaxTest extends TestCase {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(EnumSyntaxTest.class);
+ }
+
+ static {
+ System.out.println("EnumSyntax testing...");
+ }
+
+ enumSyntax es;
+ ExtendEnumSyntax ees;
+
+ /*
+ * clone() method testing.
+ */
+ public void testClone() {
+ es = new enumSyntax(10);
+ Object es2 = es.clone();
+ assertEquals(es2, es);
+ }
+
+
+ /*
+ * getEnumValueTable() method testing.
+ * Tests that getEnumValueTable() returns null as a default.
+ */
+ public void testGetEnumValueTable() {
+ es = new enumSyntax(10);
+ EnumSyntax[] esyntax = es.getEnumValueTableEx();
+ assertNull(esyntax);
+ }
+
+
+ /*
+ * getOffset() method testing.
+ * Tests that getOffset() returns 0 as a default.
+ */
+ public void testGetOffset() {
+ es = new enumSyntax(10);
+ int i = es.getOffsetEx();
+ assertEquals(0, i);
+ }
+
+
+ /*
+ * getStringTable() method testing.
+ * Tests that GetStringTable() returns null as a default.
+ */
+ public void testGetStringTable() {
+ es = new enumSyntax(10);
+ String[] str = es.getStringTableEx();
+ assertNull(str);
+ }
+
+
+ /*
+ * getValue() method testing.
+ * Tests that getValue() returns this enumeration value's integer value.
+ */
+ public void testGetValue() {
+ es = new enumSyntax(10);
+ int i = es.getValue();
+ assertEquals(10, i);
+ }
+
+
+ /*
+ * hashCode() method testing.
+ * Tests that hash code is this enumeration value's integer value.
+ */
+ public void testHashCode() {
+ es = new enumSyntax(0);
+ int i = es.hashCode();
+ assertEquals(0, i);
+ }
+
+ /*
+ * readResolve() method testing.
+ */
+ public void testReadResolve() {
+ ees = new ExtendEnumSyntax(1);
+ try {
+ ees.readResolveEx();
+ fail("readResolve() doesn't throw InvalidObjectException if" +
+ "enumeration value table is null");
+ } catch (ObjectStreamException e) {
+ //System.out.println(e);
+ }
+ }
+
+ /*
+ * readResolve() method testing.
+ */
+ public void testReadResolve1() {
+ ees = new ExtendEnumSyntax(3);
+ try {
+ ees.readResolveEx();
+ fail("readResolve() doesn't throw InvalidObjectException if" +
+ "integer value doesn't have corresponding enumeration value");
+ } catch (ObjectStreamException e) {
+ //System.out.println(e);
+ }
+ }
+
+ /*
+ * readResolve() method testing.
+ */
+ public void testReadResolve2() {
+ ees = new ExtendEnumSyntax(2);
+ try {
+ ees.readResolveEx();
+ fail("readResolve() doesn't throw InvalidObjectException if" +
+ "enumeration value is null");
+ } catch (ObjectStreamException e) {
+ //System.out.println(e);
+ }
+ }
+
+ /*
+ * toString() method testing.
+ * Tests that if there is no string value corresponding to this enumeration
+ * value toString() returns string contains this enumeration value.
+ */
+ public void testToString() {
+ try {
+ ees = new ExtendEnumSyntax(2);
+ assertEquals("2", ees.toString());
+ es = new enumSyntax(10);
+ assertEquals("10", es.toString());
+ } catch (Exception e) {
+ fail("toString() throws an exception");
+ }
+ }
+
+ /*
+ * Auxiliary class
+ */
+ protected class enumSyntax extends EnumSyntax {
+
+ public enumSyntax(int value) {
+ super(value);
+ }
+
+ public EnumSyntax[] getEnumValueTableEx() {
+ return getEnumValueTable();
+ }
+
+ public String[] getStringTableEx() {
+ return getStringTable();
+ }
+
+ public int getOffsetEx() {
+ return getOffset();
+ }
+ }
+
+
+}
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/EnumSyntaxTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/ExtendEnumSyntax.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/ExtendEnumSyntax.java?view=auto&rev=454289
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/ExtendEnumSyntax.java (added)
+++ incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/ExtendEnumSyntax.java Sun Oct 8 22:33:09 2006
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Elena V. Sayapina
+ * @version $Revision: 1.3 $
+ */
+
+package javax.print.attribute;
+
+import java.io.ObjectStreamException;
+
+/*
+ * Auxiliary class for EnumSyntax unit test
+ */
+public final class ExtendEnumSyntax extends EnumSyntax {
+
+ public ExtendEnumSyntax(int value) {
+ super(value);
+ }
+
+ public static final ExtendEnumSyntax ENUM1 = new ExtendEnumSyntax(0);
+ public static final ExtendEnumSyntax ENUM2 = new ExtendEnumSyntax(1);
+
+
+ public final EnumSyntax[] enumValueTable = { ENUM1,
+ null};
+
+ public final String[] stringTable = { "str1",
+ null };
+
+ public Object readResolveEx() throws ObjectStreamException {
+ return readResolve();
+ }
+
+}
Propchange: incubator/harmony/enhanced/classlib/trunk/modules/H-1609/modules/print/src/test/api/java/common/javax/print/attribute/ExtendEnumSyntax.java
------------------------------------------------------------------------------
svn:executable = *