[Libreoffice-commits] core.git: sfx2/qa
Noel Grandin
noel at peralex.com
Tue Jul 7 23:35:26 PDT 2015
sfx2/qa/complex/sfx2/DocumentMetadataAccess.java | 622 ++++++++++-----------
sfx2/qa/complex/sfx2/DocumentProperties.java | 657 +++++++++++------------
sfx2/qa/complex/sfx2/UndoManager.java | 58 +-
sfx2/qa/complex/sfx2/tools/WriterHelper.java | 22
sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java | 23
5 files changed, 665 insertions(+), 717 deletions(-)
New commits:
commit 3c4da0f6fda6d6cf376cae77417d813e1d21d740
Author: Noel Grandin <noel at peralex.com>
Date: Tue Jul 7 16:37:59 2015 +0200
java: let the unit-test framework catch exceptions
and report them for us, instead of inventing our own mechanisms
Change-Id: Id9186a2b01dad33c377e4785e1ca07bccea48b07
diff --git a/sfx2/qa/complex/sfx2/DocumentMetadataAccess.java b/sfx2/qa/complex/sfx2/DocumentMetadataAccess.java
index 5b6bc0c..b871a1c 100644
--- a/sfx2/qa/complex/sfx2/DocumentMetadataAccess.java
+++ b/sfx2/qa/complex/sfx2/DocumentMetadataAccess.java
@@ -18,55 +18,58 @@
package complex.sfx2;
-import com.sun.star.beans.Pair;
-import com.sun.star.rdf.Literal;
-import com.sun.star.rdf.XLiteral;
-import com.sun.star.rdf.XNamedGraph;
-import com.sun.star.rdf.BlankNode;
-import com.sun.star.rdf.XQuerySelectResult;
-import com.sun.star.rdf.XNode;
-import com.sun.star.rdf.XDocumentRepository;
-import com.sun.star.rdf.XMetadatable;
-import com.sun.star.rdf.Statement;
-import com.sun.star.rdf.FileFormat;
-import com.sun.star.rdf.URIs;
-import com.sun.star.rdf.URI;
-import com.sun.star.rdf.XDocumentMetadataAccess;
-import com.sun.star.rdf.XRepositorySupplier;
-import com.sun.star.rdf.XRepository;
-import com.sun.star.rdf.XBlankNode;
-import com.sun.star.rdf.XURI;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import helper.StreamSimulator;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XComponentContext;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XComponent;
+import java.io.IOException;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.lang.IllegalArgumentException;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.beans.PropertyValue;
-import com.sun.star.beans.StringPair;
-import com.sun.star.container.XEnumerationAccess;
-import com.sun.star.container.XEnumeration;
-import com.sun.star.io.XInputStream;
-import com.sun.star.util.XCloseable;
-import com.sun.star.frame.XStorable;
-import com.sun.star.text.XTextDocument;
-import com.sun.star.text.XTextRange;
-import com.sun.star.text.XText;
-import complex.sfx2.tools.TestDocument;
import lib.TestParameters;
-
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.*;
+
+import com.sun.star.beans.Pair;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.StringPair;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XStorable;
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.rdf.BlankNode;
+import com.sun.star.rdf.FileFormat;
+import com.sun.star.rdf.Literal;
+import com.sun.star.rdf.Statement;
+import com.sun.star.rdf.URI;
+import com.sun.star.rdf.URIs;
+import com.sun.star.rdf.XBlankNode;
+import com.sun.star.rdf.XDocumentMetadataAccess;
+import com.sun.star.rdf.XDocumentRepository;
+import com.sun.star.rdf.XLiteral;
+import com.sun.star.rdf.XMetadatable;
+import com.sun.star.rdf.XNamedGraph;
+import com.sun.star.rdf.XNode;
+import com.sun.star.rdf.XQuerySelectResult;
+import com.sun.star.rdf.XRepository;
+import com.sun.star.rdf.XRepositorySupplier;
+import com.sun.star.rdf.XURI;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XCloseable;
+import complex.sfx2.tools.TestDocument;
/**
* Test case for interface com.sun.star.rdf.XDocumentMetadataAccess
@@ -119,58 +122,52 @@ public class DocumentMetadataAccess
*/
private static TestParameters param = null;
- @Before public void before()
+ @Before public void before() throws Exception
{
- try {
-
- xMSF = getMSF();
- param = new TestParameters();
- param.put("ServiceFactory", xMSF); // important for param.getMSF()
-
- assertNotNull("could not create MultiServiceFactory.", xMSF);
- XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
- Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
- xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
- assertNotNull("could not get component context.", xContext);
-
- tempDir = util.utils.getOfficeTemp/*Dir*/(xMSF);
- System.out.println("tempdir: " + tempDir);
-
- foo = URI.create(xContext, "uri:foo");
- assertNotNull("foo", foo);
- bar = URI.create(xContext, "uri:bar");
- assertNotNull("bar", bar);
- baz = URI.create(xContext, "uri:baz");
- assertNotNull("baz", baz);
-
- blank1 = BlankNode.create(xContext, "_:1");
- assertNotNull("blank1", blank1);
- blank2 = BlankNode.create(xContext, "_:2");
- assertNotNull("blank2", blank2);
- blank3 = BlankNode.create(xContext, "_:3");
- assertNotNull("blank3", blank3);
- blank4 = BlankNode.create(xContext, "_:4");
- assertNotNull("blank4", blank4);
- rdf_type = URI.createKnown(xContext, URIs.RDF_TYPE);
- assertNotNull("rdf_type", rdf_type);
- rdfs_label = URI.createKnown(xContext, URIs.RDFS_LABEL);
- assertNotNull("rdfs_label", rdfs_label);
- pkg_Document = URI.createKnown(xContext, URIs.PKG_DOCUMENT);
- assertNotNull("pkg_Document", pkg_Document);
- pkg_hasPart = URI.createKnown(xContext, URIs.PKG_HASPART);
- assertNotNull("pkg_hasPart", pkg_hasPart);
- pkg_MetadataFile = URI.createKnown(xContext, URIs.PKG_METADATAFILE);
- assertNotNull("pkg_MetadataFile", pkg_MetadataFile);
- odf_ContentFile = URI.createKnown(xContext, URIs.ODF_CONTENTFILE);
- assertNotNull("odf_ContentFile", odf_ContentFile);
- odf_StylesFile = URI.createKnown(xContext, URIs.ODF_STYLESFILE);
- assertNotNull("odf_StylesFile", odf_StylesFile);
- odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT);
- assertNotNull("odf_Element", odf_Element);
-
- } catch (Exception e) {
- report(e);
- }
+ xMSF = getMSF();
+ param = new TestParameters();
+ param.put("ServiceFactory", xMSF); // important for param.getMSF()
+
+ assertNotNull("could not create MultiServiceFactory.", xMSF);
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
+ xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
+ assertNotNull("could not get component context.", xContext);
+
+ tempDir = util.utils.getOfficeTemp/*Dir*/(xMSF);
+ System.out.println("tempdir: " + tempDir);
+
+ foo = URI.create(xContext, "uri:foo");
+ assertNotNull("foo", foo);
+ bar = URI.create(xContext, "uri:bar");
+ assertNotNull("bar", bar);
+ baz = URI.create(xContext, "uri:baz");
+ assertNotNull("baz", baz);
+
+ blank1 = BlankNode.create(xContext, "_:1");
+ assertNotNull("blank1", blank1);
+ blank2 = BlankNode.create(xContext, "_:2");
+ assertNotNull("blank2", blank2);
+ blank3 = BlankNode.create(xContext, "_:3");
+ assertNotNull("blank3", blank3);
+ blank4 = BlankNode.create(xContext, "_:4");
+ assertNotNull("blank4", blank4);
+ rdf_type = URI.createKnown(xContext, URIs.RDF_TYPE);
+ assertNotNull("rdf_type", rdf_type);
+ rdfs_label = URI.createKnown(xContext, URIs.RDFS_LABEL);
+ assertNotNull("rdfs_label", rdfs_label);
+ pkg_Document = URI.createKnown(xContext, URIs.PKG_DOCUMENT);
+ assertNotNull("pkg_Document", pkg_Document);
+ pkg_hasPart = URI.createKnown(xContext, URIs.PKG_HASPART);
+ assertNotNull("pkg_hasPart", pkg_hasPart);
+ pkg_MetadataFile = URI.createKnown(xContext, URIs.PKG_METADATAFILE);
+ assertNotNull("pkg_MetadataFile", pkg_MetadataFile);
+ odf_ContentFile = URI.createKnown(xContext, URIs.ODF_CONTENTFILE);
+ assertNotNull("odf_ContentFile", odf_ContentFile);
+ odf_StylesFile = URI.createKnown(xContext, URIs.ODF_STYLESFILE);
+ assertNotNull("odf_StylesFile", odf_StylesFile);
+ odf_Element = URI.createKnown(xContext, URIs.ODF_ELEMENT);
+ assertNotNull("odf_Element", odf_Element);
}
@After public void after()
@@ -180,7 +177,7 @@ public class DocumentMetadataAccess
xDMA = null;
}
- @Test public void check()
+ @Test public void check() throws Exception
{
XComponent xComp = null;
XComponent xComp2 = null;
@@ -595,15 +592,13 @@ public class DocumentMetadataAccess
System.out.println("...done");
- } catch (Exception e) {
- report(e);
} finally {
close(xComp);
close(xComp2);
}
}
- @Test public void checkRDFa()
+ @Test public void checkRDFa() throws Exception
{
XComponent xComp = null;
try {
@@ -622,251 +617,234 @@ public class DocumentMetadataAccess
}
}
- private void storeRDFa(XComponent xComp, String file)
+ private void storeRDFa(XComponent xComp, String file) throws com.sun.star.io.IOException
{
- try {
+ System.out.println("Storing test document...");
- System.out.println("Storing test document...");
+ XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp);
- XStorable xStor = UnoRuntime.queryInterface(XStorable.class, xComp);
+ xStor.storeToURL(file, new PropertyValue[0]);
- xStor.storeToURL(file, new PropertyValue[0]);
-
- System.out.println("...done");
-
- } catch (Exception e) {
- report(e);
- }
+ System.out.println("...done");
}
- private XComponent loadRDFa(String file)
+ private XComponent loadRDFa(String file) throws Exception
{
XComponent xComp = null;
- try {
-
- System.out.println("Loading test document...");
-
- PropertyValue[] loadProps = new PropertyValue[1];
- loadProps[0] = new PropertyValue();
- loadProps[0].Name = "Hidden";
- loadProps[0].Value = true;
-
-
-
- xComp = util.DesktopTools.loadDoc(xMSF, file, loadProps);
-
- XRepositorySupplier xRepoSupplier = UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
- assertTrue("xRS null", null != xRepoSupplier);
-
- XDocumentRepository xDocRepository = UnoRuntime.queryInterface(XDocumentRepository.class, xRepoSupplier.getRDFRepository());
- assertTrue("xRep null", null != xDocRepository);
-
- XTextDocument xTextDoc = UnoRuntime.queryInterface(XTextDocument.class, xComp);
-
- XText xText = xTextDoc.getText();
-
- XEnumerationAccess xEA = UnoRuntime.queryInterface(XEnumerationAccess.class, xText);
- XEnumeration xEnum = xEA.createEnumeration();
-
- System.out.println("...done");
-
- System.out.println("Checking RDFa in loaded test document...");
-
- XMetadatable xPara;
- Pair<Statement[], Boolean> result;
-
- Statement x_FooBarLit1 = new Statement(foo, bar, mkLit("1"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 1",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit1
- }));
- Statement x_FooBarLit2 = new Statement(foo, bar, mkLit("2"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 2",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit2
- }));
-
- Statement x_BlankBarLit3 =
- new Statement(blank1, bar, mkLit("3"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 3",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_BlankBarLit3
- }));
- XBlankNode b3 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
-
- Statement x_BlankBarLit4 =
- new Statement(blank2, bar, mkLit("4"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 4",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_BlankBarLit4
- }));
- XBlankNode b4 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
-
- Statement x_BlankBarLit5 =
- new Statement(blank1, bar, mkLit("5"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 5",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_BlankBarLit5
- }));
- XBlankNode b5 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
-
- assertTrue("RDFa: 3 != 4",
- !b3.getStringValue().equals(b4.getStringValue()));
- assertTrue("RDFa: 3 == 5",
- b3.getStringValue().equals(b5.getStringValue()));
-
- Statement x_FooBarLit6 = new Statement(foo, bar, mkLit("6"), null);
- Statement x_FooBazLit6 = new Statement(foo, baz, mkLit("6"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 6",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit6, x_FooBazLit6
- }));
-
- Statement x_FooBarLit7 = new Statement(foo, bar, mkLit("7"), null);
- Statement x_FooBazLit7 = new Statement(foo, baz, mkLit("7"), null);
- Statement x_FooFooLit7 = new Statement(foo, foo, mkLit("7"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 7",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit7, x_FooBazLit7, x_FooFooLit7
- }));
-
- XNode lit = mkLit("a fooish bar");
- XNode lit_type= mkLit("a fooish bar", bar);
- Statement x_FooBarLit = new Statement(foo, bar, lit, null);
- Statement x_FooBarLittype = new Statement(foo, bar, lit_type, null);
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 8",
- result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit
- }));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 9",
- result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit
- }));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 10",
- result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLittype
- }));
-
- Statement x_FooBarLit11
- = new Statement(foo, bar, mkLit("11", bar), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 11",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit11
- }));
-
- XURI xFile = URI.createNS(xContext, file, "/" + contentPath);
- Statement x_FileBarLit12 =
- new Statement(xFile, bar, mkLit("12"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 12",
- !result.Second &&
- eq(result.First, new Statement[] {
- x_FileBarLit12
- }));
+ System.out.println("Loading test document...");
+
+ PropertyValue[] loadProps = new PropertyValue[1];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "Hidden";
+ loadProps[0].Value = true;
+
+
+
+ xComp = util.DesktopTools.loadDoc(xMSF, file, loadProps);
+
+ XRepositorySupplier xRepoSupplier = UnoRuntime.queryInterface(XRepositorySupplier.class, xComp);
+ assertTrue("xRS null", null != xRepoSupplier);
+
+ XDocumentRepository xDocRepository = UnoRuntime.queryInterface(XDocumentRepository.class, xRepoSupplier.getRDFRepository());
+ assertTrue("xRep null", null != xDocRepository);
+
+ XTextDocument xTextDoc = UnoRuntime.queryInterface(XTextDocument.class, xComp);
+
+ XText xText = xTextDoc.getText();
+
+ XEnumerationAccess xEA = UnoRuntime.queryInterface(XEnumerationAccess.class, xText);
+ XEnumeration xEnum = xEA.createEnumeration();
+
+ System.out.println("...done");
+
+ System.out.println("Checking RDFa in loaded test document...");
+
+ XMetadatable xPara;
+ Pair<Statement[], Boolean> result;
+
+ Statement x_FooBarLit1 = new Statement(foo, bar, mkLit("1"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 1",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit1
+ }));
+
+ Statement x_FooBarLit2 = new Statement(foo, bar, mkLit("2"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 2",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit2
+ }));
+
+ Statement x_BlankBarLit3 =
+ new Statement(blank1, bar, mkLit("3"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 3",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_BlankBarLit3
+ }));
+ XBlankNode b3 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
+
+ Statement x_BlankBarLit4 =
+ new Statement(blank2, bar, mkLit("4"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 4",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_BlankBarLit4
+ }));
+ XBlankNode b4 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
+
+ Statement x_BlankBarLit5 =
+ new Statement(blank1, bar, mkLit("5"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 5",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_BlankBarLit5
+ }));
+ XBlankNode b5 = UnoRuntime.queryInterface(XBlankNode.class, result.First[0].Subject);
+
+ assertTrue("RDFa: 3 != 4",
+ !b3.getStringValue().equals(b4.getStringValue()));
+ assertTrue("RDFa: 3 == 5",
+ b3.getStringValue().equals(b5.getStringValue()));
+
+ Statement x_FooBarLit6 = new Statement(foo, bar, mkLit("6"), null);
+ Statement x_FooBazLit6 = new Statement(foo, baz, mkLit("6"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 6",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit6, x_FooBazLit6
+ }));
+
+ Statement x_FooBarLit7 = new Statement(foo, bar, mkLit("7"), null);
+ Statement x_FooBazLit7 = new Statement(foo, baz, mkLit("7"), null);
+ Statement x_FooFooLit7 = new Statement(foo, foo, mkLit("7"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 7",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit7, x_FooBazLit7, x_FooFooLit7
+ }));
+
+ XNode lit = mkLit("a fooish bar");
+ XNode lit_type= mkLit("a fooish bar", bar);
+ Statement x_FooBarLit = new Statement(foo, bar, lit, null);
+ Statement x_FooBarLittype = new Statement(foo, bar, lit_type, null);
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 8",
+ result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit
+ }));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 9",
+ result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit
+ }));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 10",
+ result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLittype
+ }));
+
+ Statement x_FooBarLit11
+ = new Statement(foo, bar, mkLit("11", bar), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 11",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit11
+ }));
+
+ XURI xFile = URI.createNS(xContext, file, "/" + contentPath);
+ Statement x_FileBarLit12 =
+ new Statement(xFile, bar, mkLit("12"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 12",
+ !result.Second &&
+ eq(result.First, new Statement[] {
+ x_FileBarLit12
+ }));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 13",
+ result.Second &&
+ eq(result.First, new Statement[] {
+ x_FooBarLit
+ }));
+
+ new Statement(foo, rdfs_label, mkLit("14"), null);
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 14",
+ result.Second &&
+ eq(result.First, new Statement[] {
+ /* x_FooLabelLit14 */ x_FooBarLit
+ }));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 15", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 16", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 17", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 18", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 19", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(
+ XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 20", eq(result.First, new Statement[] { } ));
+
+ xPara = UnoRuntime.queryInterface(
+ XMetadatable.class, xEnum.nextElement());
+ result = xDocRepository.getStatementRDFa(xPara);
+ assertTrue("RDFa: 21", eq(result.First, new Statement[] { } ));
+
+ System.out.println("...done");
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 13",
- result.Second &&
- eq(result.First, new Statement[] {
- x_FooBarLit
- }));
-
- new Statement(foo, rdfs_label, mkLit("14"), null);
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 14",
- result.Second &&
- eq(result.First, new Statement[] {
- /* x_FooLabelLit14 */ x_FooBarLit
- }));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 15", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 16", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 17", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 18", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 19", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 20", eq(result.First, new Statement[] { } ));
-
- xPara = UnoRuntime.queryInterface(
- XMetadatable.class, xEnum.nextElement());
- result = xDocRepository.getStatementRDFa(xPara);
- assertTrue("RDFa: 21", eq(result.First, new Statement[] { } ));
-
- System.out.println("...done");
-
- } catch (Exception e) {
- report(e);
- close(xComp);
- }
return xComp;
}
// utilities -------------------------------------------------------------
- public void report(Exception e) {
- System.out.println("Exception occurred:");
- e.printStackTrace(System.err);
- fail();
- }
-
static void close(XComponent i_comp)
{
try {
diff --git a/sfx2/qa/complex/sfx2/DocumentProperties.java b/sfx2/qa/complex/sfx2/DocumentProperties.java
index 8edda78..0d21cdb 100644
--- a/sfx2/qa/complex/sfx2/DocumentProperties.java
+++ b/sfx2/qa/complex/sfx2/DocumentProperties.java
@@ -84,76 +84,76 @@ public class DocumentProperties
}
}
- @Test public void check() {
- try {
- XMultiServiceFactory xMSF = getMSF();
- assertNotNull("could not create MultiServiceFactory.", xMSF);
- XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
- Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
- XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
- assertNotNull("could not get component context.", xContext);
+ @Test public void check() throws Exception
+ {
+ XMultiServiceFactory xMSF = getMSF();
+ assertNotNull("could not create MultiServiceFactory.", xMSF);
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
+ assertNotNull("could not get component context.", xContext);
- // TODO: Path to temp
- String temp = util.utils.getOfficeTemp/*Dir*/(xMSF);
- System.out.println("tempdir: " + temp);
+ // TODO: Path to temp
+ String temp = util.utils.getOfficeTemp/*Dir*/(xMSF);
+ System.out.println("tempdir: " + temp);
- PropertyValue[] noArgs = { };
- PropertyValue mimetype = new PropertyValue();
- mimetype.Name = "MediaType";
- mimetype.Value = "application/vnd.oasis.opendocument.text";
- PropertyValue[] mimeArgs = { mimetype };
- PropertyValue cfile = new PropertyValue();
- cfile.Name = "URL";
- cfile.Value = temp + "EMPTY.odt";
- PropertyValue[] mimeEmptyArgs = { mimetype, cfile };
+ PropertyValue[] noArgs = { };
+ PropertyValue mimetype = new PropertyValue();
+ mimetype.Name = "MediaType";
+ mimetype.Value = "application/vnd.oasis.opendocument.text";
+ PropertyValue[] mimeArgs = { mimetype };
+ PropertyValue cfile = new PropertyValue();
+ cfile.Name = "URL";
+ cfile.Value = temp + "EMPTY.odt";
+ PropertyValue[] mimeEmptyArgs = { mimetype, cfile };
- System.out.println("Creating service DocumentProperties...");
+ System.out.println("Creating service DocumentProperties...");
- Object oDP =
- xMSF.createInstance("com.sun.star.document.DocumentProperties");
- XDocumentProperties xDP = UnoRuntime.queryInterface(XDocumentProperties.class, oDP);
+ Object oDP =
+ xMSF.createInstance("com.sun.star.document.DocumentProperties");
+ XDocumentProperties xDP = UnoRuntime.queryInterface(XDocumentProperties.class, oDP);
- System.out.println("...done");
+ System.out.println("...done");
- System.out.println("Checking initialize ...");
+ System.out.println("Checking initialize ...");
- XDocumentProperties xDP2 = UnoRuntime.queryInterface(XDocumentProperties.class, xMSF.createInstance("com.sun.star.document.DocumentProperties"));
- XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, xDP2);
- xInit.initialize(new Object[] { });
+ XDocumentProperties xDP2 = UnoRuntime.queryInterface(XDocumentProperties.class, xMSF.createInstance("com.sun.star.document.DocumentProperties"));
+ XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, xDP2);
+ xInit.initialize(new Object[] { });
- System.out.println("...done");
+ System.out.println("...done");
- System.out.println("Checking storing default-initialized meta data ...");
+ System.out.println("Checking storing default-initialized meta data ...");
- xDP2.storeToMedium("", mimeEmptyArgs);
+ xDP2.storeToMedium("", mimeEmptyArgs);
- System.out.println("...done");
+ System.out.println("...done");
- System.out.println("Checking loading default-initialized meta data ...");
+ System.out.println("Checking loading default-initialized meta data ...");
- xDP2.loadFromMedium("", mimeEmptyArgs);
- assertEquals("Author", "", xDP2.getAuthor());
+ xDP2.loadFromMedium("", mimeEmptyArgs);
+ assertEquals("Author", "", xDP2.getAuthor());
- System.out.println("...done");
+ System.out.println("...done");
- System.out.println("(Not) Checking preservation of custom meta data ...");
+ System.out.println("(Not) Checking preservation of custom meta data ...");
- xDP2.loadFromMedium(TestDocument.getUrl("CUSTOM.odt"),
- noArgs);
- assertEquals("Author", "", xDP2.getAuthor());
- xDP2.storeToMedium(temp + "CUSTOM.odt", mimeArgs);
+ xDP2.loadFromMedium(TestDocument.getUrl("CUSTOM.odt"),
+ noArgs);
+ assertEquals("Author", "", xDP2.getAuthor());
+ xDP2.storeToMedium(temp + "CUSTOM.odt", mimeArgs);
- //FIXME: now what? comparing for binary equality seems useless
- // we could unzip the written file and grep for the custom stuff
- // but would that work on windows...
+ //FIXME: now what? comparing for binary equality seems useless
+ // we could unzip the written file and grep for the custom stuff
+ // but would that work on windows...
- System.out.println("...done");
+ System.out.println("...done");
- System.out.println("Checking loading from test document...");
+ System.out.println("Checking loading from test document...");
- String file = TestDocument.getUrl("TEST.odt");
- xDP.loadFromMedium(file, noArgs);
+ String file = TestDocument.getUrl("TEST.odt");
+ xDP.loadFromMedium(file, noArgs);
/* XInputStream xStream =
new StreamSimulator("./testdocuments/TEST.odt", true, param);
Object oSF =
@@ -166,298 +166,294 @@ public class DocumentProperties
XStorage.class, oStor);
xDP.loadFromStorage(xStor);*/
- System.out.println("...done");
-
- System.out.println("Checking meta-data import...");
-
- assertEquals("Author", "Karl-Heinz Mustermann", xDP.getAuthor());
- assertEquals(
- "Generator",
- "StarOffice/8$Solaris_x86 OpenOffice.org_project/680m232$Build-9227",
- xDP.getGenerator());
- assertEquals("CreationDate", 2007, xDP.getCreationDate().Year);
- assertEquals("Title", "Urgent Memo", xDP.getTitle());
- assertEquals("Subject", "Wichtige Mitteilung", xDP.getSubject());
- assertEquals(
- "Description",
- "Modern internal company memorandum in full-blocked style",
- xDP.getDescription());
- assertEquals(
- "ModifiedBy", "Karl-Heinz Mustermann", xDP.getModifiedBy());
- assertEquals(
- "ModificationDate", 10, xDP.getModificationDate().Month);
- assertEquals(
- "PrintedBy", "Karl-Heinz Mustermann", xDP.getPrintedBy());
- assertEquals("PrintDate", 29, xDP.getPrintDate().Day);
- assertEquals("TemplateName", "Modern Memo", xDP.getTemplateName());
- assertTrue("TemplateURL",
- xDP.getTemplateURL().endsWith("memmodern.ott"));
- assertEquals("TemplateDate", 17, xDP.getTemplateDate().Hours);
- assertTrue(
- "AutoloadURL", xDP.getAutoloadURL().endsWith("/TEST.odt"));
- assertEquals("AutoloadSecs", 0, xDP.getAutoloadSecs());
- assertEquals("DefaultTarget", "_blank", xDP.getDefaultTarget());
- assertEquals("EditingCycles", 3, xDP.getEditingCycles());
- assertEquals("EditingDuration", 320, xDP.getEditingDuration());
-
- String[] kws = xDP.getKeywords();
- assertTrue("Keywords", fromArray(kws).containsAll(
- fromArray(new Object[] { "Asien", "Memo", "Reis" })));
-
- NamedValue[] ds = xDP.getDocumentStatistics();
- assertTrue("DocumentStatistics:WordCount", containsNV(ds,
- new NamedValue("WordCount", Integer.valueOf(23))));
- assertTrue("DocumentStatistics:PageCount", containsNV(ds,
- new NamedValue("PageCount", Integer.valueOf(1))));
-
- XPropertyContainer udpc = xDP.getUserDefinedProperties();
- XPropertySet udps = UnoRuntime.queryInterface( XPropertySet.class, udpc );
- assertEquals(
- "UserDefined 1", "Dies ist ein wichtiger Hinweis",
- udps.getPropertyValue("Hinweis"));
- assertEquals(
- "UserDefined 2", "Kann Spuren von N\u00FCssen enthalten",
- udps.getPropertyValue("Warnung"));
-
- System.out.println("...done");
-
- System.out.println("Checking meta-data updates...");
-
- String str;
- DateTime dt = new DateTime();
- Locale l = new Locale();
- int i;
-
- str = "me";
- xDP.setAuthor(str);
- assertEquals("setAuthor", str, xDP.getAuthor());
- str = "the computa";
- xDP.setGenerator(str);
- assertEquals("setGenerator", str, xDP.getGenerator());
- dt.Year = 2038;
- dt.Month = 1;
- dt.Day = 1;
- xDP.setCreationDate(dt);
- assertEquals(
- "setCreationDate", dt.Year, xDP.getCreationDate().Year);
- str = "El t'itulo";
- xDP.setTitle(str);
- assertEquals("setTitle", str, xDP.getTitle());
- str = "Ein verkommenes Subjekt";
- xDP.setSubject(str);
- assertEquals("setSubject", str, xDP.getSubject());
- str = "Este descripci'on no es importante";
- xDP.setDescription(str);
- assertEquals("setDescription", str, xDP.getDescription());
- l.Language = "en";
- l.Country = "GB";
- xDP.setLanguage(l);
- Locale l2 = xDP.getLanguage();
- assertEquals("setLanguage Lang", l.Language, l2.Language);
- assertEquals("setLanguage Cty", l.Country, l2.Country);
- str = "myself";
- xDP.setModifiedBy(str);
- assertEquals("setModifiedBy", str, xDP.getModifiedBy());
- dt.Year = 2042;
- xDP.setModificationDate(dt);
- assertEquals(
- "setModificationDate", dt.Year, xDP.getModificationDate().Year);
- str = "i did not do it";
- xDP.setPrintedBy(str);
- assertEquals("setPrintedBy", str, xDP.getPrintedBy());
- dt.Year = 2024;
- xDP.setPrintDate(dt);
- assertEquals("setPrintDate", dt.Year, xDP.getPrintDate().Year);
- str = "blah";
- xDP.setTemplateName(str);
- assertEquals("setTemplateName", str, xDP.getTemplateName());
- str = "gopher://some-hole-in-the-ground/";
- xDP.setTemplateURL(str);
- assertEquals("setTemplateURL", str, xDP.getTemplateURL());
- dt.Year = 2043;
- xDP.setTemplateDate(dt);
- assertEquals(
- "setTemplateDate", dt.Year, xDP.getTemplateDate().Year);
- str = "http://nowhere/";
- xDP.setAutoloadURL(str);
- assertEquals("setAutoloadURL", str, xDP.getAutoloadURL());
- i = 3661; // this might not work (due to conversion via double...)
- xDP.setAutoloadSecs(i);
- assertEquals("setAutoloadSecs", i, xDP.getAutoloadSecs());
- str = "_blank";
- xDP.setDefaultTarget(str);
- assertEquals("setDefaultTarget", str, xDP.getDefaultTarget());
- i = 42;
- xDP.setEditingCycles((short) i);
- assertEquals("setEditingCycles", i, xDP.getEditingCycles());
- i = 84;
- xDP.setEditingDuration(i);
- assertEquals("setEditingDuration", i, xDP.getEditingDuration());
- str = "";
-
- String[] kws2 = new String[] {
- "keywordly", "keywordlike", "keywordalicious" };
- xDP.setKeywords(kws2);
- kws = xDP.getKeywords();
- assertTrue("setKeywords", fromArray(kws).containsAll(fromArray(kws2)));
-
- NamedValue[] ds2 = new NamedValue[] {
- new NamedValue("SyllableCount", Integer.valueOf(9)),
- new NamedValue("FrameCount", Integer.valueOf(2)),
- new NamedValue("SentenceCount", Integer.valueOf(7)) };
- xDP.setDocumentStatistics(ds2);
- ds = xDP.getDocumentStatistics();
- assertTrue("setDocumentStatistics:SyllableCount", containsNV(ds,
- new NamedValue("SyllableCount", Integer.valueOf(9))));
- assertTrue("setDocumentStatistics:FrameCount", containsNV(ds,
- new NamedValue("FrameCount", Integer.valueOf(2))));
- assertTrue("setDocumentStatistics:SentenceCount", containsNV(ds,
- new NamedValue("SentenceCount", Integer.valueOf(7))));
-
- System.out.println("...done");
-
- System.out.println("Checking user-defined meta-data updates...");
-
- // actually, this tests the PropertyBag service
- // but maybe the DocumentProperties service will be implemented
- // differently some day...
- boolean b = true;
- double d = 3.1415;
- // note that Time is only supported for backward compatibility!
- Time t = new Time();
- t.Hours = 1;
- t.Minutes = 16;
- Date date = new Date();
- date.Year = 2071;
- date.Month = 2;
- date.Day = 3;
- dt.Year = 2065;
- Duration dur = new Duration();
- dur.Negative = true;
- dur.Years = 1001;
- dur.Months = 999;
- dur.Days = 888;
- dur.Hours = 777;
- dur.Minutes = 666;
- dur.Seconds = 555;
- dur.NanoSeconds = 444444444;
-
- udpc.addProperty("Frobnicate", PropertyAttribute.REMOVABLE, b);
- udpc.addProperty("FrobDuration", PropertyAttribute.REMOVABLE, dur);
- udpc.addProperty("FrobDuration2", PropertyAttribute.REMOVABLE, t);
- udpc.addProperty("FrobEndDate", PropertyAttribute.REMOVABLE, date);
- udpc.addProperty("FrobStartTime", PropertyAttribute.REMOVABLE, dt);
- udpc.addProperty("Pi", PropertyAttribute.REMOVABLE, new Double(d));
- udpc.addProperty("Foo", PropertyAttribute.REMOVABLE, "bar");
- udpc.addProperty("Removed", PropertyAttribute.REMOVABLE, "bar");
- // #i94175#: empty property name is valid ODF 1.1
- udpc.addProperty("", PropertyAttribute.REMOVABLE, "eeeeek");
- try {
- udpc.removeProperty("Info 1");
- udpc.removeProperty("Removed");
- } catch (UnknownPropertyException e) {
- fail("removeProperty failed");
- }
+ System.out.println("...done");
+
+ System.out.println("Checking meta-data import...");
+
+ assertEquals("Author", "Karl-Heinz Mustermann", xDP.getAuthor());
+ assertEquals(
+ "Generator",
+ "StarOffice/8$Solaris_x86 OpenOffice.org_project/680m232$Build-9227",
+ xDP.getGenerator());
+ assertEquals("CreationDate", 2007, xDP.getCreationDate().Year);
+ assertEquals("Title", "Urgent Memo", xDP.getTitle());
+ assertEquals("Subject", "Wichtige Mitteilung", xDP.getSubject());
+ assertEquals(
+ "Description",
+ "Modern internal company memorandum in full-blocked style",
+ xDP.getDescription());
+ assertEquals(
+ "ModifiedBy", "Karl-Heinz Mustermann", xDP.getModifiedBy());
+ assertEquals(
+ "ModificationDate", 10, xDP.getModificationDate().Month);
+ assertEquals(
+ "PrintedBy", "Karl-Heinz Mustermann", xDP.getPrintedBy());
+ assertEquals("PrintDate", 29, xDP.getPrintDate().Day);
+ assertEquals("TemplateName", "Modern Memo", xDP.getTemplateName());
+ assertTrue("TemplateURL",
+ xDP.getTemplateURL().endsWith("memmodern.ott"));
+ assertEquals("TemplateDate", 17, xDP.getTemplateDate().Hours);
+ assertTrue(
+ "AutoloadURL", xDP.getAutoloadURL().endsWith("/TEST.odt"));
+ assertEquals("AutoloadSecs", 0, xDP.getAutoloadSecs());
+ assertEquals("DefaultTarget", "_blank", xDP.getDefaultTarget());
+ assertEquals("EditingCycles", 3, xDP.getEditingCycles());
+ assertEquals("EditingDuration", 320, xDP.getEditingDuration());
+
+ String[] kws = xDP.getKeywords();
+ assertTrue("Keywords", fromArray(kws).containsAll(
+ fromArray(new Object[] { "Asien", "Memo", "Reis" })));
+
+ NamedValue[] ds = xDP.getDocumentStatistics();
+ assertTrue("DocumentStatistics:WordCount", containsNV(ds,
+ new NamedValue("WordCount", Integer.valueOf(23))));
+ assertTrue("DocumentStatistics:PageCount", containsNV(ds,
+ new NamedValue("PageCount", Integer.valueOf(1))));
+
+ XPropertyContainer udpc = xDP.getUserDefinedProperties();
+ XPropertySet udps = UnoRuntime.queryInterface( XPropertySet.class, udpc );
+ assertEquals(
+ "UserDefined 1", "Dies ist ein wichtiger Hinweis",
+ udps.getPropertyValue("Hinweis"));
+ assertEquals(
+ "UserDefined 2", "Kann Spuren von N\u00FCssen enthalten",
+ udps.getPropertyValue("Warnung"));
+
+ System.out.println("...done");
+
+ System.out.println("Checking meta-data updates...");
+
+ String str;
+ DateTime dt = new DateTime();
+ Locale l = new Locale();
+ int i;
+
+ str = "me";
+ xDP.setAuthor(str);
+ assertEquals("setAuthor", str, xDP.getAuthor());
+ str = "the computa";
+ xDP.setGenerator(str);
+ assertEquals("setGenerator", str, xDP.getGenerator());
+ dt.Year = 2038;
+ dt.Month = 1;
+ dt.Day = 1;
+ xDP.setCreationDate(dt);
+ assertEquals(
+ "setCreationDate", dt.Year, xDP.getCreationDate().Year);
+ str = "El t'itulo";
+ xDP.setTitle(str);
+ assertEquals("setTitle", str, xDP.getTitle());
+ str = "Ein verkommenes Subjekt";
+ xDP.setSubject(str);
+ assertEquals("setSubject", str, xDP.getSubject());
+ str = "Este descripci'on no es importante";
+ xDP.setDescription(str);
+ assertEquals("setDescription", str, xDP.getDescription());
+ l.Language = "en";
+ l.Country = "GB";
+ xDP.setLanguage(l);
+ Locale l2 = xDP.getLanguage();
+ assertEquals("setLanguage Lang", l.Language, l2.Language);
+ assertEquals("setLanguage Cty", l.Country, l2.Country);
+ str = "myself";
+ xDP.setModifiedBy(str);
+ assertEquals("setModifiedBy", str, xDP.getModifiedBy());
+ dt.Year = 2042;
+ xDP.setModificationDate(dt);
+ assertEquals(
+ "setModificationDate", dt.Year, xDP.getModificationDate().Year);
+ str = "i did not do it";
+ xDP.setPrintedBy(str);
+ assertEquals("setPrintedBy", str, xDP.getPrintedBy());
+ dt.Year = 2024;
+ xDP.setPrintDate(dt);
+ assertEquals("setPrintDate", dt.Year, xDP.getPrintDate().Year);
+ str = "blah";
+ xDP.setTemplateName(str);
+ assertEquals("setTemplateName", str, xDP.getTemplateName());
+ str = "gopher://some-hole-in-the-ground/";
+ xDP.setTemplateURL(str);
+ assertEquals("setTemplateURL", str, xDP.getTemplateURL());
+ dt.Year = 2043;
+ xDP.setTemplateDate(dt);
+ assertEquals(
+ "setTemplateDate", dt.Year, xDP.getTemplateDate().Year);
+ str = "http://nowhere/";
+ xDP.setAutoloadURL(str);
+ assertEquals("setAutoloadURL", str, xDP.getAutoloadURL());
+ i = 3661; // this might not work (due to conversion via double...)
+ xDP.setAutoloadSecs(i);
+ assertEquals("setAutoloadSecs", i, xDP.getAutoloadSecs());
+ str = "_blank";
+ xDP.setDefaultTarget(str);
+ assertEquals("setDefaultTarget", str, xDP.getDefaultTarget());
+ i = 42;
+ xDP.setEditingCycles((short) i);
+ assertEquals("setEditingCycles", i, xDP.getEditingCycles());
+ i = 84;
+ xDP.setEditingDuration(i);
+ assertEquals("setEditingDuration", i, xDP.getEditingDuration());
+ str = "";
+
+ String[] kws2 = new String[] {
+ "keywordly", "keywordlike", "keywordalicious" };
+ xDP.setKeywords(kws2);
+ kws = xDP.getKeywords();
+ assertTrue("setKeywords", fromArray(kws).containsAll(fromArray(kws2)));
+
+ NamedValue[] ds2 = new NamedValue[] {
+ new NamedValue("SyllableCount", Integer.valueOf(9)),
+ new NamedValue("FrameCount", Integer.valueOf(2)),
+ new NamedValue("SentenceCount", Integer.valueOf(7)) };
+ xDP.setDocumentStatistics(ds2);
+ ds = xDP.getDocumentStatistics();
+ assertTrue("setDocumentStatistics:SyllableCount", containsNV(ds,
+ new NamedValue("SyllableCount", Integer.valueOf(9))));
+ assertTrue("setDocumentStatistics:FrameCount", containsNV(ds,
+ new NamedValue("FrameCount", Integer.valueOf(2))));
+ assertTrue("setDocumentStatistics:SentenceCount", containsNV(ds,
+ new NamedValue("SentenceCount", Integer.valueOf(7))));
+
+ System.out.println("...done");
+
+ System.out.println("Checking user-defined meta-data updates...");
+
+ // actually, this tests the PropertyBag service
+ // but maybe the DocumentProperties service will be implemented
+ // differently some day...
+ boolean b = true;
+ double d = 3.1415;
+ // note that Time is only supported for backward compatibility!
+ Time t = new Time();
+ t.Hours = 1;
+ t.Minutes = 16;
+ Date date = new Date();
+ date.Year = 2071;
+ date.Month = 2;
+ date.Day = 3;
+ dt.Year = 2065;
+ Duration dur = new Duration();
+ dur.Negative = true;
+ dur.Years = 1001;
+ dur.Months = 999;
+ dur.Days = 888;
+ dur.Hours = 777;
+ dur.Minutes = 666;
+ dur.Seconds = 555;
+ dur.NanoSeconds = 444444444;
+
+ udpc.addProperty("Frobnicate", PropertyAttribute.REMOVABLE, b);
+ udpc.addProperty("FrobDuration", PropertyAttribute.REMOVABLE, dur);
+ udpc.addProperty("FrobDuration2", PropertyAttribute.REMOVABLE, t);
+ udpc.addProperty("FrobEndDate", PropertyAttribute.REMOVABLE, date);
+ udpc.addProperty("FrobStartTime", PropertyAttribute.REMOVABLE, dt);
+ udpc.addProperty("Pi", PropertyAttribute.REMOVABLE, new Double(d));
+ udpc.addProperty("Foo", PropertyAttribute.REMOVABLE, "bar");
+ udpc.addProperty("Removed", PropertyAttribute.REMOVABLE, "bar");
+ // #i94175#: empty property name is valid ODF 1.1
+ udpc.addProperty("", PropertyAttribute.REMOVABLE, "eeeeek");
+ try {
+ udpc.removeProperty("Info 1");
+ udpc.removeProperty("Removed");
+ } catch (UnknownPropertyException e) {
+ fail("removeProperty failed");
+ }
- try {
- udpc.addProperty("Forbidden", PropertyAttribute.REMOVABLE,
- new String[] { "foo", "bar" });
- fail("inserting value of non-supported type did not fail");
- } catch (IllegalTypeException e) {
- // ignore
- }
+ try {
+ udpc.addProperty("Forbidden", PropertyAttribute.REMOVABLE,
+ new String[] { "foo", "bar" });
+ fail("inserting value of non-supported type did not fail");
+ } catch (IllegalTypeException e) {
+ // ignore
+ }
- assertEquals(
- "UserDefined bool", b, udps.getPropertyValue("Frobnicate"));
- assertTrue("UserDefined duration", eqDuration(dur, (Duration)
- udps.getPropertyValue("FrobDuration")));
- assertTrue("UserDefined time", eqTime(t, (Time)
- udps.getPropertyValue("FrobDuration2")));
- assertTrue("UserDefined date", eqDate(date, (Date)
- udps.getPropertyValue("FrobEndDate")));
- assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
- udps.getPropertyValue("FrobStartTime")));
- assertEquals("UserDefined float", d, udps.getPropertyValue("Pi"));
- assertEquals(
- "UserDefined string", "bar", udps.getPropertyValue("Foo"));
- assertEquals(
- "UserDefined empty name", "eeeeek", udps.getPropertyValue(""));
-
- try {
- udps.getPropertyValue("Removed");
- fail("UserDefined remove didn't");
- } catch (UnknownPropertyException e) {
- // ok
- }
+ assertEquals(
+ "UserDefined bool", b, udps.getPropertyValue("Frobnicate"));
+ assertTrue("UserDefined duration", eqDuration(dur, (Duration)
+ udps.getPropertyValue("FrobDuration")));
+ assertTrue("UserDefined time", eqTime(t, (Time)
+ udps.getPropertyValue("FrobDuration2")));
+ assertTrue("UserDefined date", eqDate(date, (Date)
+ udps.getPropertyValue("FrobEndDate")));
+ assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
+ udps.getPropertyValue("FrobStartTime")));
+ assertEquals("UserDefined float", d, udps.getPropertyValue("Pi"));
+ assertEquals(
+ "UserDefined string", "bar", udps.getPropertyValue("Foo"));
+ assertEquals(
+ "UserDefined empty name", "eeeeek", udps.getPropertyValue(""));
- System.out.println("...done");
+ try {
+ udps.getPropertyValue("Removed");
+ fail("UserDefined remove didn't");
+ } catch (UnknownPropertyException e) {
+ // ok
+ }
- System.out.println("Checking storing meta-data to file...");
+ System.out.println("...done");
- xDP.storeToMedium(temp + "TEST.odt", mimeArgs);
+ System.out.println("Checking storing meta-data to file...");
- System.out.println("...done");
+ xDP.storeToMedium(temp + "TEST.odt", mimeArgs);
- System.out.println("Checking loading meta-data from stored file...");
+ System.out.println("...done");
- xDP.loadFromMedium(temp + "TEST.odt", noArgs);
+ System.out.println("Checking loading meta-data from stored file...");
- System.out.println("...done");
+ xDP.loadFromMedium(temp + "TEST.odt", noArgs);
- System.out.println("Checking user-defined meta-data from stored file...");
+ System.out.println("...done");
- udpc = xDP.getUserDefinedProperties();
- udps = UnoRuntime.queryInterface( XPropertySet.class, udpc );
+ System.out.println("Checking user-defined meta-data from stored file...");
- assertEquals(
- "UserDefined bool", b, udps.getPropertyValue("Frobnicate"));
- assertTrue("UserDefined duration", eqDuration(dur, (Duration)
- udps.getPropertyValue("FrobDuration")));
- // this is now a Duration!
- Duration t_dur = new Duration(false, (short)0, (short)0, (short)0,
- t.Hours, t.Minutes, t.Seconds,
- t.NanoSeconds);
- assertTrue("UserDefined time", eqDuration(t_dur, (Duration)
- udps.getPropertyValue("FrobDuration2")));
- assertTrue("UserDefined date", eqDate(date, (Date)
- udps.getPropertyValue("FrobEndDate")));
- assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
- udps.getPropertyValue("FrobStartTime")));
- assertEquals("UserDefined float", d, udps.getPropertyValue("Pi"));
- assertEquals(
- "UserDefined string", "bar", udps.getPropertyValue("Foo"));
+ udpc = xDP.getUserDefinedProperties();
+ udps = UnoRuntime.queryInterface( XPropertySet.class, udpc );
- try {
- udps.getPropertyValue("Removed");
- fail("UserDefined remove didn't");
- } catch (UnknownPropertyException e) {
- // ok
- }
+ assertEquals(
+ "UserDefined bool", b, udps.getPropertyValue("Frobnicate"));
+ assertTrue("UserDefined duration", eqDuration(dur, (Duration)
+ udps.getPropertyValue("FrobDuration")));
+ // this is now a Duration!
+ Duration t_dur = new Duration(false, (short)0, (short)0, (short)0,
+ t.Hours, t.Minutes, t.Seconds,
+ t.NanoSeconds);
+ assertTrue("UserDefined time", eqDuration(t_dur, (Duration)
+ udps.getPropertyValue("FrobDuration2")));
+ assertTrue("UserDefined date", eqDate(date, (Date)
+ udps.getPropertyValue("FrobEndDate")));
+ assertTrue("UserDefined datetime", eqDateTime(dt, (DateTime)
+ udps.getPropertyValue("FrobStartTime")));
+ assertEquals("UserDefined float", d, udps.getPropertyValue("Pi"));
+ assertEquals(
+ "UserDefined string", "bar", udps.getPropertyValue("Foo"));
- System.out.println("...done");
-
- System.out.println("Checking notification listener interface...");
-
- Listener listener = new Listener();
- XModifyBroadcaster xMB = UnoRuntime.queryInterface( XModifyBroadcaster.class, xDP );
- xMB.addModifyListener(listener);
- xDP.setAuthor("not me");
- assertTrue("Listener Author", listener.reset());
- udpc.addProperty("Listener", PropertyAttribute.REMOVABLE, "foo");
- assertTrue("Listener UserDefined Add", listener.reset());
- udps.setPropertyValue("Listener", "bar");
- assertTrue("Listener UserDefined Set", listener.reset());
- udpc.removeProperty("Listener");
- assertTrue("Listener UserDefined Remove", listener.reset());
- xMB.removeModifyListener(listener);
- udpc.addProperty("Listener2", PropertyAttribute.REMOVABLE, "foo");
- assertTrue("Removed Listener UserDefined Add", !listener.reset());
-
- System.out.println("...done");
-
- } catch (Exception e) {
- report(e);
+ try {
+ udps.getPropertyValue("Removed");
+ fail("UserDefined remove didn't");
+ } catch (UnknownPropertyException e) {
+ // ok
}
+
+ System.out.println("...done");
+
+ System.out.println("Checking notification listener interface...");
+
+ Listener listener = new Listener();
+ XModifyBroadcaster xMB = UnoRuntime.queryInterface( XModifyBroadcaster.class, xDP );
+ xMB.addModifyListener(listener);
+ xDP.setAuthor("not me");
+ assertTrue("Listener Author", listener.reset());
+ udpc.addProperty("Listener", PropertyAttribute.REMOVABLE, "foo");
+ assertTrue("Listener UserDefined Add", listener.reset());
+ udps.setPropertyValue("Listener", "bar");
+ assertTrue("Listener UserDefined Set", listener.reset());
+ udpc.removeProperty("Listener");
+ assertTrue("Listener UserDefined Remove", listener.reset());
+ xMB.removeModifyListener(listener);
+ udpc.addProperty("Listener2", PropertyAttribute.REMOVABLE, "foo");
+ assertTrue("Removed Listener UserDefined Add", !listener.reset());
+
+ System.out.println("...done");
}
// grrr...
@@ -504,14 +500,7 @@ public class DocumentProperties
return false;
}
- public void report(Exception e) {
- System.out.println("Exception occurred:");
- e.printStackTrace();
- fail();
- }
-
-
- private XMultiServiceFactory getMSF()
+ private XMultiServiceFactory getMSF()
{
final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface( XMultiServiceFactory.class, connection.getComponentContext().getServiceManager() );
return xMSF1;
diff --git a/sfx2/qa/complex/sfx2/UndoManager.java b/sfx2/qa/complex/sfx2/UndoManager.java
index 45f99fd..ad82ca4 100644
--- a/sfx2/qa/complex/sfx2/UndoManager.java
+++ b/sfx2/qa/complex/sfx2/UndoManager.java
@@ -42,8 +42,11 @@ import com.sun.star.document.XUndoAction;
import com.sun.star.lang.EventObject;
import com.sun.star.lang.IndexOutOfBoundsException;
import com.sun.star.lang.XEventListener;
+
import java.lang.reflect.InvocationTargetException;
+
import org.openoffice.test.tools.OfficeDocument;
+
import com.sun.star.document.XUndoManagerSupplier;
import com.sun.star.document.XUndoManager;
import com.sun.star.document.XUndoManagerListener;
@@ -60,28 +63,34 @@ import com.sun.star.script.ScriptEventDescriptor;
import com.sun.star.script.XEventAttacherManager;
import com.sun.star.script.XLibraryContainer;
import com.sun.star.task.XJob;
+import com.sun.star.uno.Exception;
import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.util.InvalidStateException;
import com.sun.star.util.NotLockedException;
import com.sun.star.view.XControlAccess;
+
import complex.sfx2.undo.CalcDocumentTest;
import complex.sfx2.undo.ChartDocumentTest;
import complex.sfx2.undo.DocumentTest;
import complex.sfx2.undo.DrawDocumentTest;
import complex.sfx2.undo.ImpressDocumentTest;
import complex.sfx2.undo.WriterDocumentTest;
+
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Stack;
+
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+
import static org.junit.Assert.*;
+
import org.openoffice.test.OfficeConnection;
import org.openoffice.test.tools.DocumentType;
import org.openoffice.test.tools.SpreadsheetDocument;
@@ -118,7 +127,7 @@ public class UndoManager
//FIXME fails fdo#35663 @Test
- public void checkCalcUndo() throws Exception
+ public void checkCalcUndo() throws java.lang.Exception
{
m_currentTestCase = new CalcDocumentTest( getORB() );
impl_checkUndo();
@@ -385,38 +394,31 @@ public class UndoManager
private void impl_assignScript( final XPropertySet i_controlModel, final String i_interfaceName,
- final String i_interfaceMethod, final String i_scriptURI )
+ final String i_interfaceMethod, final String i_scriptURI ) throws Exception
{
- try
- {
- final XChild modelAsChild = UnoRuntime.queryInterface( XChild.class, i_controlModel );
- final XIndexContainer parentForm = UnoRuntime.queryInterface( XIndexContainer.class, modelAsChild.getParent() );
+ final XChild modelAsChild = UnoRuntime.queryInterface( XChild.class, i_controlModel );
+ final XIndexContainer parentForm = UnoRuntime.queryInterface( XIndexContainer.class, modelAsChild.getParent() );
- final XEventAttacherManager manager = UnoRuntime.queryInterface( XEventAttacherManager.class, parentForm );
+ final XEventAttacherManager manager = UnoRuntime.queryInterface( XEventAttacherManager.class, parentForm );
- int containerPosition = -1;
- for ( int i = 0; i < parentForm.getCount(); ++i )
+ int containerPosition = -1;
+ for ( int i = 0; i < parentForm.getCount(); ++i )
+ {
+ final XPropertySet child = UnoRuntime.queryInterface( XPropertySet.class, parentForm.getByIndex( i ) );
+ if ( UnoRuntime.areSame( child, i_controlModel ) )
{
- final XPropertySet child = UnoRuntime.queryInterface( XPropertySet.class, parentForm.getByIndex( i ) );
- if ( UnoRuntime.areSame( child, i_controlModel ) )
- {
- containerPosition = i;
- break;
- }
+ containerPosition = i;
+ break;
}
- assertFalse( "could not find the given control model within its parent", containerPosition == -1 );
- manager.registerScriptEvent( containerPosition, new ScriptEventDescriptor(
- i_interfaceName,
- i_interfaceMethod,
- "",
- "Script",
- i_scriptURI
- ) );
- }
- catch( com.sun.star.uno.Exception e )
- {
- fail( "caught an exception while assigning the script event to the button: " + e.toString() );
}
+ assertFalse( "could not find the given control model within its parent", containerPosition == -1 );
+ manager.registerScriptEvent( containerPosition, new ScriptEventDescriptor(
+ i_interfaceName,
+ i_interfaceMethod,
+ "",
+ "Script",
+ i_scriptURI
+ ) );
}
@@ -1195,7 +1197,7 @@ public class UndoManager
@BeforeClass
- public static void setUpConnection() throws Exception
+ public static void setUpConnection() throws java.lang.Exception
{
System.out.println( "--------------------------------------------------------------------------------" );
System.out.println( "starting class: " + UndoManager.class.getName() );
diff --git a/sfx2/qa/complex/sfx2/tools/WriterHelper.java b/sfx2/qa/complex/sfx2/tools/WriterHelper.java
index 382aebc..3180d36 100644
--- a/sfx2/qa/complex/sfx2/tools/WriterHelper.java
+++ b/sfx2/qa/complex/sfx2/tools/WriterHelper.java
@@ -185,15 +185,8 @@ public class WriterHelper {
*
* @return returns the gained XExtendedToolkit Interface
*/
- public XExtendedToolkit getToolkit() {
- Object toolkit = null;
-
- try {
- toolkit = m_xMSF.createInstance("com.sun.star.awt.Toolkit");
- } catch (com.sun.star.uno.Exception e) {
- System.out.println("Couldn't get toolkit");
- e.printStackTrace(System.err);
- }
+ public XExtendedToolkit getToolkit() throws com.sun.star.uno.Exception {
+ Object toolkit = m_xMSF.createInstance("com.sun.star.awt.Toolkit");
XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
toolkit);
@@ -207,15 +200,8 @@ public class WriterHelper {
*
* @return returns the gained XDesktop interface
*/
- private XDesktop getDesktop() {
- Object desk = null;
-
- try {
- desk = m_xMSF.createInstance("com.sun.star.frame.Desktop");
- } catch (com.sun.star.uno.Exception e) {
- System.out.println("Couldn't get desktop");
- e.printStackTrace(System.err);
- }
+ private XDesktop getDesktop() throws com.sun.star.uno.Exception {
+ Object desk = m_xMSF.createInstance("com.sun.star.frame.Desktop");
XDesktop xDesktop = UnoRuntime.queryInterface(XDesktop.class, desk);
diff --git a/sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java b/sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java
index 7d2b229..8ccbe6b 100644
--- a/sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java
+++ b/sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java
@@ -115,23 +115,16 @@ public class ChartDocumentTest implements DocumentTest
return wallProperties;
}
- private XPropertySet impl_getYAxisProperties()
+ private XPropertySet impl_getYAxisProperties() throws IndexOutOfBoundsException
{
XPropertySet axisProperties = null;
- try
- {
- final XChartDocument chartDoc = UnoRuntime.queryInterface( XChartDocument.class, m_chartDocument.getDocument() );
- final XDiagram diagram = chartDoc.getFirstDiagram();
- final XCoordinateSystemContainer coordContainer = UnoRuntime.queryInterface( XCoordinateSystemContainer.class, diagram );
- final XCoordinateSystem[] coordSystems = coordContainer.getCoordinateSystems();
- final XCoordinateSystem coordSystem = coordSystems[0];
- final XAxis primaryYAxis = coordSystem.getAxisByDimension( 1, 0 );
- axisProperties = UnoRuntime.queryInterface( XPropertySet.class, primaryYAxis );
- }
- catch ( Exception ex )
- {
- fail( "internal error: could not retrieve primary Y axis properties" );
- }
+ final XChartDocument chartDoc = UnoRuntime.queryInterface( XChartDocument.class, m_chartDocument.getDocument() );
+ final XDiagram diagram = chartDoc.getFirstDiagram();
+ final XCoordinateSystemContainer coordContainer = UnoRuntime.queryInterface( XCoordinateSystemContainer.class, diagram );
+ final XCoordinateSystem[] coordSystems = coordContainer.getCoordinateSystems();
+ final XCoordinateSystem coordSystem = coordSystems[0];
+ final XAxis primaryYAxis = coordSystem.getAxisByDimension( 1, 0 );
+ axisProperties = UnoRuntime.queryInterface( XPropertySet.class, primaryYAxis );
return axisProperties;
}
More information about the Libreoffice-commits
mailing list