You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by wa...@apache.org on 2012/10/24 12:29:47 UTC

svn commit: r1401611 - /incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java

Author: wanglf
Date: Wed Oct 24 10:29:46 2012
New Revision: 1401611

URL: http://svn.apache.org/viewvc?rev=1401611&view=rev
Log:
#121108 - [testUNO patch]validity test script include Criterial/Error Alert/Input Help
patch by Terry Yang, reviewed by WangLiFeng

Added:
    incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java

Added: incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java?rev=1401611&view=auto
==============================================================================
--- incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java (added)
+++ incubator/ooo/trunk/test/testuno/source/fvt/uno/sc/data/ValidityTypeTest.java Wed Oct 24 10:29:46 2012
@@ -0,0 +1,247 @@
+/**************************************************************
+ * 
+ * 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
+ * 
+ * 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.
+ * 
+ *************************************************************/
+package fvt.uno.sc.data;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.openoffice.test.uno.UnoApp;
+
+import testlib.uno.SCUtil;
+import testlib.uno.TestUtil;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.ConditionOperator;
+import com.sun.star.sheet.GeneralFunction;
+import com.sun.star.sheet.ValidationAlertStyle;
+import com.sun.star.sheet.ValidationType;
+import com.sun.star.sheet.XSheetCondition;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.Enum;
+import com.sun.star.uno.UnoRuntime;
+
+@RunWith(value = Parameterized.class)
+public class ValidityTypeTest {
+	private static final UnoApp app = new UnoApp();
+
+	UnoApp unoApp = new UnoApp();
+	XSpreadsheetDocument scDocument = null;
+	XComponent scComponent = null;
+
+	private Enum validationtype;
+
+	private boolean ignoreBlankCells;
+
+	private Enum validationAlertStyle;
+
+	private boolean showInputMessage;
+
+	private boolean showErrorMessage;
+
+	private Enum conditionOperator;
+
+	private String formula1;
+
+	private String formula2;
+
+	private String extName;
+
+	@Parameters
+	public static Collection<Object[]> data() throws Exception {
+		return Arrays
+				.asList(new Object[][] {
+						{ ValidationType.ANY, false, ValidationAlertStyle.STOP,
+								false, false, ConditionOperator.EQUAL, "0",
+								"5", "xls" },
+								//Custom type is not exist in GUI so remove this 
+						// { ValidationType.CUSTOM, true,
+						// ValidationAlertStyle.INFO, false, true,
+						// ConditionOperator.EQUAL, "0", "5", "ods"},
+						{ ValidationType.DATE, false,
+								ValidationAlertStyle.MACRO, false, false,
+								ConditionOperator.EQUAL, "0", "0", "ods" },
+						{ ValidationType.DECIMAL, true,
+								ValidationAlertStyle.WARNING, false, true,
+								ConditionOperator.BETWEEN, "0", "5", "ods" },
+						{ ValidationType.LIST, false,
+								ValidationAlertStyle.STOP, true, false,
+								ConditionOperator.EQUAL, "\"Joe\";\"Jane\"",
+								"0", "ods" },
+						{ ValidationType.LIST, false,
+								ValidationAlertStyle.STOP, true, false,
+								ConditionOperator.EQUAL, "a;b;c", "0", "ods" },
+						{ ValidationType.TEXT_LEN, true,
+								ValidationAlertStyle.INFO, true, true,
+								ConditionOperator.GREATER, "0", "5", "xls" },
+						{ ValidationType.TIME, false,
+								ValidationAlertStyle.STOP, true, false,
+								ConditionOperator.GREATER_EQUAL, "0", "5",
+								"xls" },
+						{ ValidationType.WHOLE, true,
+								ValidationAlertStyle.WARNING, true, true,
+								ConditionOperator.LESS, "0", "5", "xls" },
+						{ ValidationType.DECIMAL, false,
+								ValidationAlertStyle.STOP, true, false,
+								ConditionOperator.LESS_EQUAL, "0", "5", "xls" },
+						{ ValidationType.WHOLE, true,
+								ValidationAlertStyle.INFO, false, true,
+								ConditionOperator.NOT_BETWEEN, "0", "5", "ods" },
+						{ ValidationType.TEXT_LEN, false,
+								ValidationAlertStyle.MACRO, true, false,
+								ConditionOperator.NOT_EQUAL, "5", "0", "ods" }, });
+	}
+
+	@Before
+	public void setUpDocument() throws Exception {
+		unoApp.start();
+	}
+
+	@After
+	public void tearDownDocument() {
+		unoApp.close();
+		unoApp.closeDocument(scComponent);
+
+	}
+
+	@BeforeClass
+	public static void setUpConnection() throws Exception {
+
+	}
+
+	@AfterClass
+	public static void tearDownConnection() throws InterruptedException,
+			Exception {
+
+	}
+
+	public ValidityTypeTest(Enum validationtype, boolean ignoreBlankCells,
+			Enum validationAlertStyle, boolean showInputMessage,
+			boolean showErrorMessage, Enum conditionOperator, String formula1,
+			String formula2, String extName) {
+		this.validationtype = validationtype;
+		this.ignoreBlankCells = ignoreBlankCells;
+		this.validationAlertStyle = validationAlertStyle;
+		this.showInputMessage = showInputMessage;
+		this.showErrorMessage = showErrorMessage;
+		this.conditionOperator = conditionOperator;
+		this.formula1 = formula1;
+		this.formula2 = formula2;
+		this.extName = extName;
+	}
+
+	@Test
+	public void test() throws Exception {
+		// New a SC document
+		scComponent = unoApp.newDocument("scalc");
+		scDocument = SCUtil.getSCDocument(scComponent);
+		XSpreadsheet currentsheet = SCUtil.getCurrentSheet(scDocument);
+		// --- Data validation ---
+		XCellRange xCellRange = currentsheet.getCellRangeByName("A7:C7");
+		XPropertySet xCellPropSet = (XPropertySet) UnoRuntime.queryInterface(
+				XPropertySet.class, xCellRange);
+
+		// validation properties
+		XPropertySet xValidPropSet = (XPropertySet) UnoRuntime
+				.queryInterface(XPropertySet.class,
+						xCellPropSet.getPropertyValue("Validation"));
+
+		String errorTitle = "This is an Error title";
+		String inputHelp = "This is an input help";
+		String inputTitle = "This is an input title";
+		String errorMessage = "This is an invalid value!";
+		xValidPropSet.setPropertyValue("IgnoreBlankCells", ignoreBlankCells);
+		xValidPropSet.setPropertyValue("Type", validationtype);
+		xValidPropSet.setPropertyValue("ErrorTitle", errorTitle);
+		xValidPropSet.setPropertyValue("ShowErrorMessage", showErrorMessage);
+		xValidPropSet.setPropertyValue("ErrorMessage", errorMessage);
+		xValidPropSet.setPropertyValue("ErrorAlertStyle", validationAlertStyle);
+		xValidPropSet.setPropertyValue("ShowInputMessage", showInputMessage);
+		xValidPropSet.setPropertyValue("InputMessage", inputHelp);
+		xValidPropSet.setPropertyValue("InputTitle", inputTitle);
+
+		// condition
+		XSheetCondition xCondition = (XSheetCondition) UnoRuntime
+				.queryInterface(XSheetCondition.class, xValidPropSet);
+		xCondition.setOperator((ConditionOperator) conditionOperator);
+		xCondition.setFormula1(formula1);
+		xCondition.setFormula2(formula2);
+
+		// apply on cell range
+		xCellPropSet.setPropertyValue("Validation", xValidPropSet);
+
+		// Save and reload the file
+		SCUtil.saveFileAs(scComponent, "Validationtest", extName);
+		XSpreadsheetDocument scDocumentTemp = SCUtil.reloadFile(unoApp,
+				scDocument, "Validationtest." + extName);
+		scDocument = scDocumentTemp;
+		currentsheet = SCUtil.getCurrentSheet(scDocument);
+
+		// --- Data validation ---
+		xCellRange = currentsheet.getCellRangeByName("A7:C7");
+		xCellPropSet = (XPropertySet) UnoRuntime.queryInterface(
+				XPropertySet.class, xCellRange);
+		// validation properties
+		xValidPropSet = (XPropertySet) UnoRuntime
+				.queryInterface(XPropertySet.class,
+						xCellPropSet.getPropertyValue("Validation"));
+
+		// Verify the validation property
+		//If validation Alert Style is Macro, after save the error message will be clean
+		if (validationAlertStyle == ValidationAlertStyle.MACRO) {
+			assertEquals("", xValidPropSet.getPropertyValue("ErrorMessage"));
+		} else {
+			assertEquals(errorMessage,
+					xValidPropSet.getPropertyValue("ErrorMessage"));
+		}
+		assertEquals(showErrorMessage,
+				xValidPropSet.getPropertyValue("ShowErrorMessage"));
+		assertEquals(showInputMessage,
+				xValidPropSet.getPropertyValue("ShowInputMessage"));
+		assertEquals(inputHelp, xValidPropSet.getPropertyValue("InputMessage"));
+		assertEquals(ignoreBlankCells,
+				xValidPropSet.getPropertyValue("IgnoreBlankCells"));
+		assertEquals(validationtype, xValidPropSet.getPropertyValue("Type"));
+		assertEquals(errorTitle, xValidPropSet.getPropertyValue("ErrorTitle"));
+		assertEquals(validationAlertStyle,
+				xValidPropSet.getPropertyValue("ErrorAlertStyle"));
+		assertEquals(inputTitle, xValidPropSet.getPropertyValue("InputTitle"));
+
+		xCondition = (XSheetCondition) UnoRuntime.queryInterface(
+				XSheetCondition.class, xValidPropSet);
+		assertEquals(formula1, xCondition.getFormula1());
+		assertEquals(formula2, xCondition.getFormula2());
+		assertEquals(conditionOperator, xCondition.getOperator());
+
+	}
+}