This is an automated email from the ASF dual-hosted git repository.
mseidel pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/AOO42X by this push:
new c767ce6af6 Restore test
c767ce6af6 is described below
commit c767ce6af6b4fa73d3fb3b62dd99c67f1a5a12b2
Author: mseidel <[email protected]>
AuthorDate: Tue Apr 1 16:53:23 2025 +0200
Restore test
---
.../source/fvt/gui/sw/table/TableGeneral.java | 529 +++++++++++++++++++++
1 file changed, 529 insertions(+)
diff --git a/test/testgui/source/fvt/gui/sw/table/TableGeneral.java
b/test/testgui/source/fvt/gui/sw/table/TableGeneral.java
new file mode 100644
index 0000000000..86fdf79a47
--- /dev/null
+++ b/test/testgui/source/fvt/gui/sw/table/TableGeneral.java
@@ -0,0 +1,529 @@
+/**************************************************************
+ *
+ * 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.gui.sw.table;
+
+import static org.junit.Assert.*;
+import static org.openoffice.test.vcl.Tester.*;
+import static testlib.gui.AppTool.*;
+import static testlib.gui.UIMap.*;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openoffice.test.common.Logger;
+import org.openoffice.test.common.SystemUtil;
+
+import testlib.gui.AppTool;
+
+public class TableGeneral {
+
+ @Rule
+ public Logger log = Logger.getLogger(this);
+
+ @Before
+ public void setUp() throws Exception {
+ // Start OpenOffice
+ app.start();
+
+ AppTool.newTextDocument();
+ // Insert a table
+ app.dispatch(".uno:InsertTable");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ app.stop();
+ }
+
+ /**
+ * Test setting table size in text document
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableSize() throws Exception {
+
+ swTableSizeColBox.focus();
+ typeKeys("<delete>");
+ typeKeys("3");
+ swTableSizeRowBox.focus();
+ typeKeys("<delete>");
+ typeKeys("4");
+ writerInsertTable.ok();
+
+ writer.focus();
+ // verify the rows in the table
+ assertNotNull(statusBar.getItemTextById(8));
+ for (int i = 0; i < 3; i++) {
+ typeKeys("<down>");
+ assertNotNull(statusBar.getItemTextById(8));
+ }
+ typeKeys("<down>");
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+ }
+
+ /**
+ * Test setting table cell background in text document
+ *
+ * @throws Exception
+ */
+ @Test
+ @Ignore("Bug #120378- the table cell fill color change when copy one
table cell in word processor to presentation")
+ public void testTableBackground() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ writer.focus();
+ // set table cell background
+ app.dispatch(".uno:TableDialog");
+ swTableBackground.select();
+ assertTrue("Table background property dialog pop up",
+ swTableBackground.exists());
+ swTableBackgroundColor.focus();
+ swTableBackgroundColor.click(50, 50);
+ swTableBackground.ok();
+ // verify table cell background color
+ writer.focus();
+ // select the cell which is filled with color
+ app.dispatch(".uno:EntireCell");
+
+ typeKeys("<ctrl c>");
+ AppTool.newPresentation();
+ typeKeys("<ctrl v>");
+ // enable table cell area format dialog
+ app.dispatch(".uno:FormatArea");
+ sleep(1);
+ assertEquals("Light red", sdTableBACGColorListbox.getSelText());
+ // close table cell area format dialog
+ sdTableBACGColorArea.cancel();
+ }
+
+ /**
+ * Test setting table border in text document
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableBorder() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // set table border as none
+ writer.focus();
+ app.dispatch(".uno:TableDialog");
+ swTableBorder.select();
+ assertTrue("Table border property dialog pop up",
+ swTableBorder.exists());
+ swTableBorderLineArrange.click(10, 10);
+ swTableBorder.ok();
+ }
+
+ /**
+ * Test setting table border line style,line color,spacing to content in
+ * text document
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableBorderLineStyle() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ writer.focus();
+ app.dispatch(".uno:TableDialog");
+ swTableBorder.select();
+ assertTrue("Table border property dialog pop up",
+ swTableBorder.exists());
+ // set line style
+ swTableBorderLineStyle.select(8);
+ // set line color
+ final int nMagentaIndex = 16; // for AOO's colorpicker as of
#i118828#
+ swTableBorderLineColor.select( nMagentaIndex);
+ // set spacing to content
+ swTableSTCLeft.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ // set spacing to content
+ typeKeys("0.5");
+ // set table shadow
+ swTableShadow.click(40, 10);
+ swTableShadowSize.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("2");
+ swTableShadowColor.select( nMagentaIndex);
+ swTableBorder.ok();
+ // verify the setting property of table
+ writer.focus();
+ app.dispatch(".uno:TableDialog");
+ swTableBorder.select();
+ assertEquals("2.60 pt", swTableBorderLineStyle.getItemText(8));
+ assertEquals("Magenta", swTableBorderLineColor.getItemText(
nMagentaIndex));
+ assertEquals("0.50 \"", swTableSTCLeft.getText());
+ assertEquals("0.50 \"", swTableSTCRight.getText());
+ assertEquals("0.50 \"", swTableSTCTop.getText());
+ assertEquals("0.50 \"", swTableSTCBottom.getText());
+ assertEquals("1.97 \"", swTableShadowSize.getText());
+ assertEquals("Magenta", swTableShadowColor.getItemText(
nMagentaIndex));
+ assertTrue("SWTableSTC_SYNC", swTableSTCSYNC.isChecked());
+ swTableBorder.close();
+
+ // uncheck Synchronize box and set spacing to content
+ writer.focus();
+ app.dispatch(".uno:TableDialog");
+ swTableBorder.select();
+ swTableSTCSYNC.uncheck();
+ // set left spacing to content
+ swTableSTCLeft.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("0.5");
+ // set right spacing to content
+ swTableSTCRight.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("0.8");
+ // set top spacing to content
+ swTableSTCTop.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("1.0");
+ // set bottom spacing to content
+ swTableSTCBottom.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("2");
+ swTableBorder.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+
+ writer.focus();
+ // verify the setting value of spacing to content for table
+ app.dispatch(".uno:TableDialog");
+ swTableBorder.select();
+ assertEquals("0.50 \"", swTableSTCLeft.getText());
+ assertEquals("0.80 \"", swTableSTCRight.getText());
+ assertEquals("1.00 \"", swTableSTCTop.getText());
+ assertEquals("1.97 \"", swTableSTCBottom.getText());
+ assertFalse("SWTableSTC_SYNC", swTableSTCSYNC.isChecked());
+ swTableBorder.close();
+ }
+
+ /**
+ * create table with auto format
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableAutoFormat() throws Exception {
+ // create table with auto format
+ button("sw:PushButton:DLG_INSERT_TABLE:BT_AUTOFORMAT").click();
+ assertTrue("Table auto format dialog pop up",
swTableAutoFMT.exists());
+ swTableAutoFormatListbox.select(3);
+ swTableAutoFMT.ok();
+ // verify the auto format is that just selected
+ button("sw:PushButton:DLG_INSERT_TABLE:BT_AUTOFORMAT").click();
+ assertEquals("Blue", swTableAutoFormatListbox.getSelText());
+ swTableAutoFMT.close();
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+
+ }
+
+ /**
+ * set row height and select row,insert/delete row
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableRowHeight() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+
+ // set row height
+ writer.focus();
+ writer.openContextMenu();
+ swTableRowHeightMenu.select();
+ assertTrue(swTableSetRowHeightDialog.exists());
+ swTableSetRowHeight.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("0.5");
+ swTableSetRowHeightDialog.ok();
+
+ // verify row height
+ writer.focus();
+ writer.openContextMenu();
+ swTableRowHeightMenu.select();
+ assertTrue(swTableSetRowHeightDialog.exists());
+ assertEquals("0.50 \"", swTableSetRowHeight.getText());
+ swTableSetRowHeightDialog.close();
+ }
+
+ /**
+ * test select row
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableSelectRow() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // select row
+ writer.focus();
+ writer.openContextMenu();
+ swTableSelectRowMenu.select();
+
+ // verify select one row successfully
+ typeKeys("<ctrl c>");
+ typeKeys("<down>");
+ typeKeys("<down>");
+ typeKeys("<enter>");
+ typeKeys("<ctrl v>");
+ typeKeys("<up>");
+ assertTrue(tableToolbar.exists());
+
+ }
+
+ /**
+ * insert row and verify how many row inserted
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableInsertRow() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ writer.focus();
+ writer.openContextMenu();
+ swTableInsertRowMenu.select();
+ assertTrue("SWTable_InsertRow Dialog pop up",
swTableInsertRow.exists());
+ swTableInsertRowColumnSetNumber.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("3");
+ swTableInsertRow.ok();
+
+ writer.focus();
+ // verify how many rows in the table
+ assertNotNull(statusBar.getItemTextById(8));
+ for (int i = 0; i < 4; i++) {
+ typeKeys("<down>");
+ assertNotNull(statusBar.getItemTextById(8));
+ }
+ typeKeys("<down>");
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+ }
+
+ /**
+ * delete row and verify row
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableRowDelete() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // delete row
+ writer.focus();
+ writer.openContextMenu();
+ swTableRowDleteMenu.select();
+ // verify whether delete row
+ writer.focus();
+ assertNotNull(statusBar.getItemTextById(8));
+ typeKeys("<down>");
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+
+ }
+
+ /**
+ * set column width and verify
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableColumnWidth() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // set column width
+ writer.focus();
+ writer.openContextMenu();
+ swTableColumnWidthMenu.select();
+ swTableSetColumnWidth.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("2");
+ swTableSetColumnDialog.ok();
+ // verify column width
+ writer.focus();
+ writer.openContextMenu();
+ swTableColumnWidthMenu.select();
+ assertEquals("2.00 \"", swTableSetColumnWidth.getText());
+
+ }
+
+ /**
+ * select column and verify
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableColumnSelect() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ writer.focus();
+ writer.openContextMenu();
+ swTableColumnSelectMenu.select();
+
+ // verify select one column
+ typeKeys("<ctrl c>");
+ typeKeys("<down>");
+ typeKeys("<down>");
+ typeKeys("<enter>");
+ typeKeys("<ctrl v>");
+ typeKeys("<up>");
+ assertTrue(tableToolbar.exists());
+
+ }
+
+ /**
+ * insert column and verify
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableColumnInsert() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // insert column
+ writer.focus();
+ writer.openContextMenu();
+ swTableColumnInsertMenu.select();
+ swTableInsertRowColumnSetNumber.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("3");
+ swTableInsertColumn.ok();
+ // verify insert column successfully
+ writer.focus();
+ assertTrue(tableToolbar.exists());
+ for (int i = 0; i < 9; i++) {
+ typeKeys("<right>");
+ sleep(1);
+ assertTrue(tableToolbar.exists());
+ }
+ typeKeys("<right>");
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+ }
+
+ /**
+ * delete column and verify whether delete or not
+ *
+ * @throws Exception
+ */
+ public void testTableColumnDelete() throws Exception {
+ writerInsertTable.ok();
+ assertNotNull(statusBar.getItemTextById(8));
+ // delete column
+ writer.focus();
+ writer.openContextMenu();
+ swTableColumnDeleteMenu.select();
+ // verify delete column
+ writer.focus();
+ assertTrue(tableToolbar.exists());
+ for (int i = 0; i < 7; i++) {
+ typeKeys("<right>");
+ assertTrue(tableToolbar.exists());
+ }
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+ }
+
+ /**
+ * split cell
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testTableCellSplit() throws Exception {
+ writerInsertTable.ok();
+ assertTrue(tableToolbar.exists());
+ for (int k = 0; k < 2; k++) {
+ writer.focus();
+ writer.openContextMenu();
+ swTableCellSplitMenu.select();
+ swTableCellSplitNumber.focus();
+ typeKeys("<ctrl a>");
+ typeKeys("<delete>");
+ typeKeys("2");
+ if (k == 0) {
+ // split table cell horizontally
+ swTableCellSplitDialog.ok();
+ } else {
+ // split table cell
+ swTableCellSplitVERTButton.check();
+ // vertically
+ swTableCellSplitDialog.ok();
+ }
+ }
+ // verify cell split successfully
+ writer.focus();
+ assertTrue(tableToolbar.exists());
+ for (int i = 0; i < 7; i++) {
+ typeKeys("<right>");
+ assertTrue(tableToolbar.exists());
+ }
+ sleep(1);
+ assertFalse(tableToolbar.exists());
+ }
+
+ /**
+ * Test convert table to text in text document
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testConvertTableToText() throws Exception {
+ writerInsertTable.ok();
+ writer.focus();
+ typeKeys("1<right>2<right>3<right>4");
+ sleep(1);
+
+ // Convert table to text
+ app.dispatch(".uno:ConvertTableToText");
+ assertTrue("Convert Table to Text dialog pop up",
+ writerConvertTableToTextDlg.exists());
+ // typeKeys("<enter>");
+ writerConvertTableToTextDlg.ok();
+
+ // Verify if text is converted successfully
+ app.dispatch(".uno:SelectAll");
+ app.dispatch(".uno:Copy");
+ if (SystemUtil.isWindows())
+ assertEquals("Converted text", "1\t2\r\n3\t4\r\n",
+ app.getClipboard());
+ else
+ assertEquals("Converted text", "1\t2\n3\t4\n",
app.getClipboard());
+ }
+}