diff options
author | Noel Grandin <noel@peralex.com> | 2014-12-12 10:54:27 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2014-12-12 10:55:56 +0200 |
commit | 4d58121e6da309ac083fd45f4d816c05d697dfc0 (patch) | |
tree | 68356d90cbbc20597ed3b64ccb41e1fd3dce47bd /qadevOOo/qa | |
parent | aa2f02a4dc8a05f49e679a26f2beebb9d66b2325 (diff) |
Revert "java: remove the unit test skeleton code"
This reverts commit 2d724f086f0ac9ee9a340610e0fa2c4fff110565.
Apparently other bits of code are referencing the default .sce
file
Diffstat (limited to 'qadevOOo/qa')
-rw-r--r-- | qadevOOo/qa/complex/junitskeleton/Skeleton.java | 181 | ||||
-rw-r--r-- | qadevOOo/qa/complex/junitskeleton/TestDocument.java | 32 | ||||
-rw-r--r-- | qadevOOo/qa/complex/junitskeleton/justatest.java | 43 | ||||
-rw-r--r-- | qadevOOo/qa/complex/junitskeleton/makefile.mk | 54 | ||||
-rw-r--r-- | qadevOOo/qa/complex/junitskeleton/test_documents/README.txt | 1 | ||||
-rw-r--r-- | qadevOOo/qa/unoapi/Test.java | 44 | ||||
-rw-r--r-- | qadevOOo/qa/unoapi/knownissues.xcl | 1 | ||||
-rw-r--r-- | qadevOOo/qa/unoapi/qadevOOo.sce | 18 |
8 files changed, 374 insertions, 0 deletions
diff --git a/qadevOOo/qa/complex/junitskeleton/Skeleton.java b/qadevOOo/qa/complex/junitskeleton/Skeleton.java new file mode 100644 index 000000000000..e15a29c0439d --- /dev/null +++ b/qadevOOo/qa/complex/junitskeleton/Skeleton.java @@ -0,0 +1,181 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you 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 . + */ +package complex.junitskeleton; + +import com.sun.star.lang.XComponent; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.util.XCloseable; +import java.io.File; +import java.io.RandomAccessFile; + +import lib.TestParameters; + +import util.SOfficeFactory; + +// ---------- junit imports ----------------- +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openoffice.test.OfficeConnection; +import static org.junit.Assert.*; + + +public class Skeleton +{ + /** + * The test parameters + */ + private static TestParameters param = null; + + @Test public void check() { + assertTrue("Couldn't open document", open()); + System.out.println("check"); + assertTrue("Couldn't close document", close()); + String tempDirURL = util.utils.getOfficeTemp/*Dir*/(getMSF()); + System.out.println("temp dir URL is: " + tempDirURL); + String tempDir = graphical.FileHelper.getSystemPathFromFileURL(tempDirURL); + assertTrue("Temp directory doesn't exist.", new File(tempDir).exists()); + } + + private boolean open() + { + System.out.println("open()"); + // get multiservicefactory ----------------------------------------- + final XMultiServiceFactory xMsf = getMSF(); + + SOfficeFactory.getFactory(xMsf); + + // some Tests need the qadevOOo TestParameters, it is like a Hashmap for Properties. + param = new TestParameters(); + param.put("ServiceFactory", xMsf); // some qadevOOo functions need the ServiceFactory + + return true; + } + + private boolean close() + { + System.out.println("close()"); + return true; + } + + // marked as test + @Test public void checkDocument() + { + System.out.println("checkDocument()"); + final String sREADME = TestDocument.getUrl("README.txt"); + System.out.println("README is in:" + sREADME); + File aFile = new File(sREADME); + if (! aFile.exists()) + { + // It is a little bit stupid that office urls not compatible to java file urls + System.out.println("java.io.File can't access Office file urls."); + String sREADMESystemPath = graphical.FileHelper.getSystemPathFromFileURL(sREADME); + aFile = new File(sREADMESystemPath); + assertTrue("File '" + sREADMESystemPath + "' doesn't exists.", aFile.exists()); + } + + try + { + RandomAccessFile aAccess = new RandomAccessFile(aFile, "r"); + long nLength = aAccess.length(); + System.out.println("File length: " + nLength); + assertTrue("File length wrong", nLength > 0); + String sLine = aAccess.readLine(); + assertTrue("Line must not be empty", sLine.length() > 0); + System.out.println(" Line: '" + sLine + "'"); + System.out.println(" length: " + sLine.length()); + assertTrue("File length not near equal to string length", sLine.length() + 2 >= nLength); + aAccess.close(); + } + catch (java.io.FileNotFoundException e) + { + fail("Can't find file: " + sREADME + " - " + e.getMessage()); + } + catch (java.io.IOException e) + { + fail("IO Exception: " + e.getMessage()); + } + + } + + @Test public void checkOpenDocumentWithOffice() + { + SOfficeFactory SOF = SOfficeFactory.getFactory(getMSF()); + final String sREADME = TestDocument.getUrl("README.txt"); + try + { + XComponent aDocument = SOF.loadDocument(sREADME); + complex.junitskeleton.justatest.shortWait(); + XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, aDocument); + xClose.close(true); + } + catch (com.sun.star.lang.IllegalArgumentException ex) + { + fail("Illegal argument exception caught: " + ex.getMessage()); + } + catch (com.sun.star.io.IOException ex) + { + fail("IOException caught: " + ex.getMessage()); + } + catch (com.sun.star.uno.Exception ex) + { + fail("Exception caught: " + ex.getMessage()); + } + } + + // marked as prepare for test, will call before every test + @Before public void before() + { + System.out.println("before()"); + System.setProperty("THIS IS A TEST", "Hallo"); + } + + + // marked as post for test, will call after every test + @After public void after() + { + System.out.println("after()"); + String sValue = System.getProperty("THIS IS A TEST"); + assertEquals(sValue, "Hallo"); + } + + + private XMultiServiceFactory getMSF() + { + return UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager()); + } + + // setup and close connections + @BeforeClass public static void setUpConnection() throws Exception { + System.out.println("setUpConnection()"); + connection.setUp(); + } + + @AfterClass public static void tearDownConnection() + throws InterruptedException, com.sun.star.uno.Exception + { + System.out.println("tearDownConnection()"); + connection.tearDown(); + } + + private static final OfficeConnection connection = new OfficeConnection(); + +} diff --git a/qadevOOo/qa/complex/junitskeleton/TestDocument.java b/qadevOOo/qa/complex/junitskeleton/TestDocument.java new file mode 100644 index 000000000000..4b681387fa54 --- /dev/null +++ b/qadevOOo/qa/complex/junitskeleton/TestDocument.java @@ -0,0 +1,32 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you 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 . + */ + +package complex.junitskeleton; + +import java.io.File; +import org.openoffice.test.OfficeFileUrl; + +final class TestDocument +{ + public static String getUrl(String name) + { + return OfficeFileUrl.getAbsolute(new File("test_documents", name)); + } + + private TestDocument() {} +} diff --git a/qadevOOo/qa/complex/junitskeleton/justatest.java b/qadevOOo/qa/complex/junitskeleton/justatest.java new file mode 100644 index 000000000000..ccd3278ebe59 --- /dev/null +++ b/qadevOOo/qa/complex/junitskeleton/justatest.java @@ -0,0 +1,43 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you 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 . + */ + +package complex.junitskeleton; + +public class justatest { + + public justatest() { + System.out.println("justatest CTor."); + } + + public void testfkt() { + System.out.println("Test called."); + } + + /** + * Sleeps for 0.5 sec. to allow StarOffice to react on <code> + * reset</code> call. + */ + public static void shortWait() { + try { + Thread.sleep(500); + } catch (InterruptedException e) { + System.out.println("While waiting :" + e); + } + } + +} diff --git a/qadevOOo/qa/complex/junitskeleton/makefile.mk b/qadevOOo/qa/complex/junitskeleton/makefile.mk new file mode 100644 index 000000000000..ff513ed67001 --- /dev/null +++ b/qadevOOo/qa/complex/junitskeleton/makefile.mk @@ -0,0 +1,54 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you 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 . +# + +.IF "$(OOO_SUBSEQUENT_TESTS)" == "" +nothing .PHONY: + @echo "OOO_SUBSEQUENT_TESTS not set, do nothing." +.ELSE + +PRJ = ../../.. +PRJNAME = sc +TARGET = qa_complex_junitskeleton + +.IF "$(OOO_JUNIT_JAR)" != "" +PACKAGE = complex/junitskeleton + +# here store only Files which contain a @Test +JAVATESTFILES = \ + Skeleton.java + +# put here all other files +JAVAFILES = $(JAVATESTFILES) \ + justatest.java \ + TestDocument.java + +JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar +EXTRAJARFILES = $(OOO_JUNIT_JAR) + +# Sample how to debug +# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y + +.END + +.INCLUDE: settings.mk +.INCLUDE: target.mk +.INCLUDE: installationtest.mk + +ALLTAR : javatest + +.END diff --git a/qadevOOo/qa/complex/junitskeleton/test_documents/README.txt b/qadevOOo/qa/complex/junitskeleton/test_documents/README.txt new file mode 100644 index 000000000000..775f01c4924d --- /dev/null +++ b/qadevOOo/qa/complex/junitskeleton/test_documents/README.txt @@ -0,0 +1 @@ +Here you can store documents. diff --git a/qadevOOo/qa/unoapi/Test.java b/qadevOOo/qa/unoapi/Test.java new file mode 100644 index 000000000000..cecd71c797c2 --- /dev/null +++ b/qadevOOo/qa/unoapi/Test.java @@ -0,0 +1,44 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you 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 . + */ + +package unoapi; + +import org.openoffice.Runner; +import org.openoffice.test.OfficeConnection; +import static org.junit.Assert.*; + +public final class Test { + @org.junit.Before public void setUp() throws Exception { + connection.setUp(); + } + + @org.junit.After public void tearDown() + throws InterruptedException, com.sun.star.uno.Exception + { + connection.tearDown(); + } + + @org.junit.Test public void test() { + assertTrue( + Runner.run( + "-sce", "qadevOOo.sce", "-xcl", "knownissues.xcl", "-cs", + connection.getDescription())); + } + + private final OfficeConnection connection = new OfficeConnection(); +} diff --git a/qadevOOo/qa/unoapi/knownissues.xcl b/qadevOOo/qa/unoapi/knownissues.xcl new file mode 100644 index 000000000000..02c509060d97 --- /dev/null +++ b/qadevOOo/qa/unoapi/knownissues.xcl @@ -0,0 +1 @@ +# This file contains all Errors diff --git a/qadevOOo/qa/unoapi/qadevOOo.sce b/qadevOOo/qa/unoapi/qadevOOo.sce new file mode 100644 index 000000000000..34958d270804 --- /dev/null +++ b/qadevOOo/qa/unoapi/qadevOOo.sce @@ -0,0 +1,18 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you 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 . +# +-o qadevOOo.SelfTest |