Author: liuzhe
Date: Wed Jul 18 02:28:42 2012
New Revision: 1362744

URL: http://svn.apache.org/viewvc?rev=1362744&view=rev
Log:
#120295# - VCLAuto patch: refactor function verification test. Test cases about 
text document and presentation. 
          Patch by: Li Lin Yi
          Review by: Liu Zhe

Added:
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddDeleteSymbolsFromCatalog.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputCharacterFromCatalogDlg.java
    incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/
    
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/
    
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/HeaderAndFooterSetting.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/OpenDocumentWithHeaderFooter.java
    incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/
    incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/
    
incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/Table.java
Removed:
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddCustomSymbolsFromCatalog.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/DeleteSymbolFromCatalog.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputGreekCharacterFromCatalogDlg.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputIGreekCharacterFromCatalogDlg.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputSpecialCharacterFromCatalogDlg.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/elements/ElementsWindowActive.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/CopySlideWithApplyFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/CopySlideWithApplyToAllFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/CopySlideWithNotesHeaderFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/DuplicateSlideWithApplyToAllFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/FooterNotShowOn1stSlide.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertApplyFooterOnSlide.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertApplyToAllFooterOnNotes.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertApplyToAllFooterOnSlide.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertAutoUpdateTimeFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertAutoUpdateTimeOnNotes.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertHeaderFooterOnNotes.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/InsertHeaderFooterOnSlide.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/OpenAOO34WithHeaderFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sd/headerandfooter/OpenPPTWithHeaderFooter.java
    
incubator/ooo/trunk/main/test/testoo/src/testcase/sw/table/ConvertTableToText.java
Modified:
    incubator/ooo/trunk/main/test/testoo/src/testcase/BVTFunction.java
    incubator/ooo/trunk/main/test/testoo/src/testlib/AppUtil.java
    incubator/ooo/trunk/main/test/testoo/src/testlib/UIMap.java

Modified: incubator/ooo/trunk/main/test/testoo/src/testcase/BVTFunction.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/BVTFunction.java?rev=1362744&r1=1362743&r2=1362744&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testoo/src/testcase/BVTFunction.java 
(original)
+++ incubator/ooo/trunk/main/test/testoo/src/testcase/BVTFunction.java Wed Jul 
18 02:28:42 2012
@@ -145,7 +145,6 @@ public class BVTFunction {
        @Test
        public void testAboutDialog()
        {
-
                app.dispatch(".uno:About");
                assertTrue(AboutDialog.exists(5));
                AboutDialog.ok();

Added: 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddDeleteSymbolsFromCatalog.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddDeleteSymbolsFromCatalog.java?rev=1362744&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddDeleteSymbolsFromCatalog.java
 (added)
+++ 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/AddDeleteSymbolsFromCatalog.java
 Wed Jul 18 02:28:42 2012
@@ -0,0 +1,211 @@
+/**************************************************************
+ * 
+ * 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 testcase.formula.catalog;
+
+import static testlib.AppUtil.*;
+import static testlib.UIMap.*;
+import static org.junit.Assert.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import testlib.Log;
+
+/**
+ *
+ */
+public class AddDeleteSymbolsFromCatalog {
+
+       @Rule
+       public Log LOG = new Log();
+       
+       @Before
+       public void setUp() throws Exception {
+               app.start();
+               
+               // New a formula document
+               startcenter.menuItem("File->New->Formula").select();
+               sleep(3);               
+               
+               // Click catalog button
+               math_CatalogButton.click();
+               sleep(1);
+               
+               // Verify if the "Symbols" dialog pop up
+               assertTrue("Symbols dialog does not pop up", 
math_SymbolsDlg.exists(3));
+               
+               // Select "Special", click "Edit" button
+               math_SymbolsDlgListbox.select("Special");
+               math_SymbolsDlgEditButton.click();
+               sleep(1);
+               
+               // Verify if the "Edit Symbols" dialog pop up
+               assertTrue("Edit Symbols dialog does not pop up", 
math_EditSymbolsDlg.exists(3));
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               app.close();
+       }
+
+       /**
+        * Test add custom symbols from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testAddSymbolFromCatalog() throws Exception{
+               
+               // Choose a symbol which is not in the list, click "Add" and 
"OK"
+               String selectedSymbol;
+               boolean bSelectSymbolNotInList;
+               int nListCount;
+               int nIndex = 1;
+               do {
+                       math_EditSymbolsDlgViewControl.click(100*nIndex, 10);   
// risk: after 6 or 7 circles, this will click out of ViewControl
+                       sleep(1);
+                       selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+                       nIndex++;
+                       // Find if the selected symbol is already in the list
+                       bSelectSymbolNotInList = false;
+                       nListCount = math_EditSymbolsDlgSymbol.getItemCount();
+                       for (int i=0; i<nListCount; i++) {
+                               if 
(selectedSymbol.equals(math_EditSymbolsDlgSymbol.getItemText(i))) {
+                                       bSelectSymbolNotInList = true;
+                                       break;
+                               }
+                       }
+               } while (bSelectSymbolNotInList);
+               math_EditSymbolsDlgAdd.click();
+               math_EditSymbolsDlg.ok();
+               sleep(1);
+               
+               // Verify if the symbol is added to Symbol set
+               math_SymbolsDlgEditButton.click();
+               bSelectSymbolNotInList = false;
+               nListCount = math_EditSymbolsDlgSymbol.getItemCount();
+               for (int i=0; i<nListCount; i++) {
+                       if 
(selectedSymbol.equals(math_EditSymbolsDlgSymbol.getItemText(i))) {
+                               bSelectSymbolNotInList = true;
+                               break;
+                       }
+               }
+               assertTrue("Symbol is not added to Symbol set", 
bSelectSymbolNotInList);
+               
+               // Close all dialogs
+               math_EditSymbolsDlg.cancel();
+               math_SymbolsDlg.close();
+               app.dispatch(".uno:CloseDoc");
+       }
+       
+       /**
+        * Test modify font of custom symbols from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testModifySymbolFontFromCatalog() throws Exception{
+               
+               // Modify the font of selected symbol
+               //String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               int oldSymbolFontIndex = math_EditSymbolsDlgFont.getSelIndex();
+               int modifiedSymbolFondIndex = 
(oldSymbolFontIndex+1==math_EditSymbolsDlgFont.getItemCount()) ? 0 : 
(oldSymbolFontIndex+1);
+               math_EditSymbolsDlgFont.select(modifiedSymbolFondIndex);        
// select the next font of old font
+               String modifiedSymbolFont = 
math_EditSymbolsDlgFont.getSelText();
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlgModify.click();
+               math_EditSymbolsDlg.ok();
+               sleep(1);
+               
+               // Verify if the font of symbol is modified successfully
+               math_SymbolsDlgEditButton.click();
+               math_EditSymbolsDlgSymbol.select(selectedSymbol);
+               assertEquals("Font of symbol is not modified successfully", 
modifiedSymbolFont, math_EditSymbolsDlgFont.getSelText());
+               
+               // Close all dialogs
+               math_EditSymbolsDlg.cancel();
+               math_SymbolsDlg.close();
+               app.dispatch(".uno:CloseDoc");
+       }
+       
+       /**
+        * Test modify typeface of custom symbols from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testModifySymbolTypefaceFromCatalog() throws Exception{
+                               
+               // Modify the typeface of selected symbol
+//             String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               int oldSymbolTypefaceIndex = 
math_EditSymbolsDlgTypeface.getSelIndex();
+               int modifiedSymbolTypefaceIndex = 
(oldSymbolTypefaceIndex+1==math_EditSymbolsDlgTypeface.getItemCount()) ? 0 : 
(oldSymbolTypefaceIndex+1);
+               
math_EditSymbolsDlgTypeface.select(modifiedSymbolTypefaceIndex);        // 
select the next typeface of old typeface
+               String modifiedSymbolTypeface= 
math_EditSymbolsDlgTypeface.getSelText();
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlgModify.click();
+               math_EditSymbolsDlg.ok();
+               sleep(1);
+               
+               // Verify if the typeface of symbol is modified successfully
+               math_SymbolsDlgEditButton.click();
+               math_EditSymbolsDlgSymbol.select(selectedSymbol);
+               assertEquals("Typeface of symbol is not modified successfully", 
modifiedSymbolTypeface, math_EditSymbolsDlgTypeface.getSelText());
+               
+               // Close all dialogs
+               math_EditSymbolsDlg.cancel();
+               math_SymbolsDlg.close();
+               app.dispatch(".uno:CloseDoc");
+       }
+       
+       /**
+        * Test delete custom symbols from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testDeleteSymbolFromCatalog() throws Exception{
+               
+               // Delete the selected symbol
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlgDelete.click();
+               math_EditSymbolsDlg.ok();
+               sleep(1);
+               
+               // Verify if the selected symbol is deleted successfully
+               math_SymbolsDlgEditButton.click();
+               boolean isDeleted = true;
+               for (int i=0; i<math_EditSymbolsDlgSymbol.getItemCount(); i++) {
+                       if 
(selectedSymbol.equals(math_EditSymbolsDlgSymbol.getItemText(i))){
+                               isDeleted = false;
+                               break;
+                       }
+               }
+               assertTrue("Symbol is not deleted successfully", isDeleted);
+               
+               // Close all dialogs
+               math_EditSymbolsDlg.cancel();
+               math_SymbolsDlg.close();
+               app.dispatch(".uno:CloseDoc");
+       }
+}

Added: 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputCharacterFromCatalogDlg.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputCharacterFromCatalogDlg.java?rev=1362744&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputCharacterFromCatalogDlg.java
 (added)
+++ 
incubator/ooo/trunk/main/test/testoo/src/testcase/formula/catalog/InputCharacterFromCatalogDlg.java
 Wed Jul 18 02:28:42 2012
@@ -0,0 +1,155 @@
+/**************************************************************
+ * 
+ * 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 testcase.formula.catalog;
+
+import static testlib.AppUtil.*;
+import static testlib.UIMap.*;
+import static org.junit.Assert.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import testlib.Log;
+
+/**
+ *
+ */
+public class InputCharacterFromCatalogDlg {
+
+       @Rule
+       public Log LOG = new Log();
+       
+       @Before
+       public void setUp() throws Exception {
+               app.start();
+               
+               // New a formula document
+               startcenter.menuItem("File->New->Formula").select();
+               sleep(3);               
+               
+               // Click catalog button
+               math_CatalogButton.click();
+               sleep(1);
+               
+               // Verify if the "Symbols" dialog pop up
+               assertTrue("Symbols dialog does not pop up", 
math_SymbolsDlg.exists(3));
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               app.close();
+       }
+       
+       /**
+        * Test input Greek character from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testInputGreekFromCatalog() throws Exception{
+               
+               // Select "Greek", click "Edit" button to get the selected 
Symbol
+               math_SymbolsDlgListbox.select("Greek");
+               math_SymbolsDlgEditButton.click();
+               sleep(1);
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlg.ok();
+               sleep(1);               
+               
+               // Insert the selected symbol
+               math_SymbolsDlgInsertButton.click();
+               math_SymbolsDlgCloseButton.click();
+               
+               // Verify if the symbol is inserted successfully
+               math_EditWindow.activate();
+               math_EditWindow.menuItem("Edit->Select All").select();
+               math_EditWindow.menuItem("Edit->Copy").select();
+               sleep(1);
+               assertEquals("Symbol is not inserted succcessfully", 
"%".concat(selectedSymbol).concat(" "), app.getClipboard());       // add "%" 
in the front, add " " in the end
+               
+               // Close all dialogs
+               app.dispatch(".uno:CloseDoc");
+       }
+       
+       /**
+        * Test input iGreek character from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testInputIGreekFromCatalog() throws Exception{
+               
+               // Select "iGreek", click "Edit" button to get the selected 
Symbol
+               math_SymbolsDlgListbox.select("iGreek");
+               math_SymbolsDlgEditButton.click();
+               sleep(1);
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlg.ok();
+               sleep(1);               
+               
+               // Insert the selected symbol
+               math_SymbolsDlgInsertButton.click();
+               math_SymbolsDlgCloseButton.click();
+               
+               // Verify if the symbol is inserted successfully
+               math_EditWindow.click(5, 5);
+               math_EditWindow.menuItem("Edit->Select All").select();
+               math_EditWindow.menuItem("Edit->Copy").select();
+               sleep(1);
+               assertEquals("Symbol is not inserted succcessfully", 
"%".concat(selectedSymbol).concat(" "), app.getClipboard());       // add "%" 
in the front, add " " in the end
+               
+               // Close all dialogs
+               app.dispatch(".uno:CloseDoc");
+       }
+       
+       /**
+        * Test input Special character from Catalog->Symbols
+        * @throws Exception
+        */
+       @Test
+       public void testInputSpecialFromCatalog() throws Exception{
+               
+               // Select "Special", "Insert" the default first symbol
+               math_SymbolsDlgListbox.select("Special");
+               math_SymbolsDlgInsertButton.click();    
+               
+               // Click "Edit" button to get the selected Symbol
+               math_SymbolsDlgEditButton.click();
+               sleep(1);
+               String selectedSymbol = math_EditSymbolsDlgSymbol.getText();
+               math_EditSymbolsDlg.ok();
+               math_SymbolsDlgCloseButton.click();
+               
+               // Verify if the symbol is inserted successfully
+               math_EditWindow.click(5, 5);
+               math_EditWindow.menuItem("Edit->Select All").select();
+               math_EditWindow.menuItem("Edit->Copy").select();
+               sleep(1);
+               assertEquals("Symbol is not inserted succcessfully", 
"%".concat(selectedSymbol).concat(" "), app.getClipboard());       // add "%" 
in the front, add " " in the end
+               
+               // Close all dialogs
+               app.dispatch(".uno:CloseDoc");
+       }
+}

Added: 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/HeaderAndFooterSetting.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/HeaderAndFooterSetting.java?rev=1362744&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/HeaderAndFooterSetting.java
 (added)
+++ 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/HeaderAndFooterSetting.java
 Wed Jul 18 02:28:42 2012
@@ -0,0 +1,724 @@
+/**************************************************************
+ * 
+ * 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 testcase.presentation.headerandfooter;
+
+import static testlib.AppUtil.fullPath;
+import static testlib.AppUtil.openStartcenter;
+import static testlib.AppUtil.submitOpenDlg;
+import static testlib.AppUtil.submitSaveDlg;
+import static testlib.UIMap.*;
+import static org.junit.Assert.*;
+import static org.openoffice.test.vcl.Tester.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openoffice.test.common.FileUtil;
+import testlib.ImpressUtil;
+import testlib.Log;
+
+public class HeaderAndFooterSetting{
+
+       @Rule
+       public Log LOG = new Log();
+
+       @Before
+       public void setUp() throws Exception {
+               app.start();
+
+               // New a impress, insert some slides
+               app.dispatch("private:factory/simpress?slot=6686");
+               PresentationWizard.ok();
+               sleep(1);
+
+               for(int i=0; i<5;i++){
+                       SD_InsertPageButtonOnToolbar.click();
+                       sleep(1);
+               }
+               // Pop up navigator panel
+               impress.menuItem("View").select();
+               if(!impress.menuItem("View->Navigator").isSelected()){
+                       impress.menuItem("View->Navigator").select();
+               }
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               app.close();
+       }
+
+       /**
+        * Test Copy slide with Apply Footer to same file and different file
+        * @throws Exception
+        */
+       @Test
+       public void testCopySlideWithApplyFooter() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               SD_FooterTextOnSlide.check();
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               SD_SlideNumAsFooterOnSlide.check();
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               ImpressSlideSorter.focus();
+               for(int j=0; j<=2;j++){
+                       typeKeys("<up>");
+               }
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.uncheck();
+               SD_ApplyButtonOnSlideFooter.click();
+
+               //paste to the same file
+               ImpressSlideSorter.focus();
+               app.dispatch(".uno:Copy");
+               app.dispatch(".uno:Paste");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 20120323", 
SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test", 
SD_FooterTextOnSlideInput.getText());
+               assertEquals(false, SD_SlideNumAsFooterOnSlide.isChecked());
+
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+
+               //paste to different file
+               impress.focus();
+               app.dispatch("private:factory/simpress?slot=6686");
+               PresentationWizard.ok();
+               sleep(1);
+               app.dispatch(".uno:Paste");
+               ImpressSlideSorter.focus();
+               typeKeys("<down>");
+               sleep(1);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 20120323", 
SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test", 
SD_FooterTextOnSlideInput.getText());
+               assertEquals(false, SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Copy slide with Apply to all Footer to same file and different 
file
+        * @throws Exception
+        */
+       @Test
+       public void testCopySlideWithApplyToAllFooter() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               ImpressSlideSorter.focus();
+               for(int j=0; j<=2;j++){
+                       typeKeys("<up>");
+                       sleep(1);
+               }
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.uncheck();
+               SD_ApplyButtonOnSlideFooter.click();
+
+               //paste to the same file
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+               app.dispatch(".uno:Copy");
+               typeKeys("<down>");
+               sleep(1);
+               app.dispatch(".uno:Paste");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+
+               //paste to different file
+               impress.focus();
+               impress.menuItem("File->New->Presentation").select();
+               sleep(1);
+               app.dispatch(".uno:Paste");
+               ImpressSlideSorter.focus();
+               typeKeys("<down>");
+               sleep(1);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Copy slide with Notes Footer to same file and different file
+        * @throws Exception
+        */
+       @Test
+       public void testCopySlideWithNotesHeaderFooter() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               SD_HeaderTextOnNotes.check();
+               SD_HeaderTextOnNotesInput.setText("Header Test");
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               //paste to the same file
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+               app.dispatch(".uno:Copy");
+               typeKeys("<down>");
+               sleep(1);
+               app.dispatch(".uno:Paste");
+
+               ImpressUtil.getCurView().activate();
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               //close header and footer dialog.
+               SD_ApplyToAllButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+
+               //paste to different file
+               impress.focus();
+               impress.menuItem("File->New->Presentation").select();
+               sleep(1);
+               app.dispatch(".uno:Paste");
+               ImpressSlideSorter.focus();
+               typeKeys("<down>");
+               sleep(1);
+               ImpressUtil.getCurView().activate();
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test duplicate slide with Apply to all Footer to same file 
+        * @throws Exception
+        */
+       @Test
+       public void testDuplicateSlideWithApplyToAllFooter() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+
+               ImpressSlideSorter.focus();
+               for(int j=0; j<=2;j++){
+                       typeKeys("<up>");
+                       sleep(1);
+               }
+               impress.menuItem("Insert->Duplicate Slide").select();
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test footer not show on the first slide. 
+        * @throws Exception
+        */
+       @Test
+       public void testFooterNotShowOn1stSlide() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_FooterNotShowOn1stSlide.check();
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               ImpressSlideSorter.focus();
+               for(int j=0; j<5; j++){
+                       typeKeys("<up>");
+               }
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_FooterNotShowOn1stSlide.isChecked());
+               assertEquals(false,SD_FooterTextOnSlide.isChecked());
+       }
+
+       /**
+        * Test Insert Footer to focus slide.
+        * @throws Exception
+        */
+       @Test
+       public void testInsertApplyFooterOnSlide() throws Exception{
+
+               //add header and footer to focus slide.
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyButtonOnSlideFooter.click();
+               sleep(1);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("",SD_FooterTextOnSlideInput.getText());
+               assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               SD_InsertPageButtonOnToolbar.click();
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("",SD_FooterTextOnSlideInput.getText());
+               assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Insert Footer to Notes View
+        * @throws Exception
+        */
+       @Test
+       public void testInsertApplyToAllFooterOnNotes() throws Exception{
+
+               //add header and footer to focus slide.
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               SD_HeaderTextOnNotes.check();
+               SD_HeaderTextOnNotesInput.setText("Header Test");
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals(true,SD_HeaderTextOnNotes.isChecked());
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyToAllButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals(true,SD_HeaderTextOnNotes.isChecked());
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyToAllButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               SD_InsertPageButtonOnToolbar.click();
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals(true,SD_HeaderTextOnNotes.isChecked());
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Insert Footer to Slide, use Apply to All
+        * @throws Exception
+        */
+       @Test
+       public void testInsertApplyToAllFooterOnSlide() throws Exception{
+
+               //add header and footer to focus slide.
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(2);
+
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end close
+
+               SD_InsertPageButtonOnToolbar.click();
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked());
+               assertEquals("Fix Date: 
20120323",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Insert update automatically time footer to slides.
+        * @throws Exception
+        */
+       @Test
+       public void testInsertAutoUpdateTimeFooter() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_AutoUpdateTimeFooter.check();
+               SD_AutoUpdateTimeFooterType.select(7);
+               String currentTime=SD_AutoUpdateTimeFooterType.getItemText(7);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(2);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+
+               String currentTime2=SD_AutoUpdateTimeFooterType.getItemText(7);
+               assertFalse(currentTime.equals(currentTime2));
+       }
+
+       /**
+        * Test Insert update automatically time footer to Notes view.
+        * @throws Exception
+        */
+       @Test
+       public void testInsertAutoUpdateTimeFooterOnNotes() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               SD_AutoUpdateTimeFooter.check();
+               SD_AutoUpdateTimeFooterType.select(7);
+               String currentTime=SD_AutoUpdateTimeFooterType.getItemText(7);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(2);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               String currentTime2=SD_AutoUpdateTimeFooterType.getItemText(7);
+
+               assertFalse(currentTime.equals(currentTime2));
+       }
+
+       /**
+        * Test Insert Header and Footer to Notes view.
+        * Save and ReOpen
+        * @throws Exception
+        */
+       @Test
+       public void testInsertHeaderFooterOnNotes() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               SD_HeaderTextOnNotes.check();
+               SD_HeaderTextOnNotesInput.setText("Header Test");
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               //close header and footer dialog.
+               SD_ApplyToAllButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+
+               //save this file
+               impress.menuItem("File->Save").select();
+               String saveTo = fullPath("temp/" + "hello.odp");
+               FileUtil.deleteFile(saveTo);
+               submitSaveDlg(saveTo);  
+               impress.menuItem("File->Close").select();
+               sleep(2);
+
+               //Reopen this file
+               openStartcenter();
+               app.dispatch(".uno:Open");
+               String openFrom=fullPath("temp/" + "hello.odp");
+               submitOpenDlg(openFrom);
+
+               //check after reopen            
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_HeaderAndFooterOnNotesTabPage.select();
+               assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText());
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+
+       /**
+        * Test Insert Header and Footer to Slide
+        * Save and Reopen
+        * @throws Exception
+        */
+       @Test
+       public void testInsertHeaderFooterOnSlide() throws Exception{
+
+               //add header and footer
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               SD_DateAndTimeFooterOnSlide.check();
+               SD_FixedDateAndTimeFooterOnSlide.check();
+               sleep(1);
+               SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329");
+               sleep(1);
+               SD_FooterTextOnSlide.check();
+               sleep(1);
+               SD_FooterTextOnSlideInput.setText("Footer Test");
+               sleep(1);
+               SD_SlideNumAsFooterOnSlide.check();
+               sleep(1);
+               SD_ApplyToAllButtonOnSlideFooter.click();
+               sleep(1);
+
+               ImpressSlideSorter.focus();
+               typeKeys("<up>");
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               //close header and footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+
+               //save this file
+               impress.menuItem("File->Save").select();
+               String saveTo = fullPath("temp/" + "hello.odp");
+               FileUtil.deleteFile(saveTo);
+               submitSaveDlg(saveTo);  
+               impress.menuItem("File->Close").select();
+               sleep(2);
+
+               //Reopen this file
+               openStartcenter();
+               app.dispatch(".uno:Open");
+               String openFrom=fullPath("temp/" + "hello.odp");
+               submitOpenDlg(openFrom);
+
+               //check after reopen            
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals("Fix Date: 
20120329",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+       }
+}

Added: 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/OpenDocumentWithHeaderFooter.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/OpenDocumentWithHeaderFooter.java?rev=1362744&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/OpenDocumentWithHeaderFooter.java
 (added)
+++ 
incubator/ooo/trunk/main/test/testoo/src/testcase/presentation/headerandfooter/OpenDocumentWithHeaderFooter.java
 Wed Jul 18 02:28:42 2012
@@ -0,0 +1,171 @@
+/**************************************************************
+ * 
+ * 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 testcase.presentation.headerandfooter;
+
+import static testlib.AppUtil.fullPath;
+import static testlib.AppUtil.openStartcenter;
+import static testlib.AppUtil.submitSaveDlg;
+import static testlib.AppUtil.submitOpenDlg;
+import static testlib.AppUtil.testFile;
+import static testlib.UIMap.*;
+import static org.junit.Assert.*;
+import static org.openoffice.test.vcl.Tester.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openoffice.test.common.FileUtil;
+import testlib.Log;
+
+public class OpenDocumentWithHeaderFooter {
+
+       @Rule
+       public Log LOG = new Log();
+
+       @Before
+       public void setUp() throws Exception {
+               app.start();
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               app.close();
+       }
+
+       /**
+        * Test open AOO3.4 presentation with header and footer.
+        * edit and save to ODP
+        * @throws Exception
+        */
+       @Test
+       public void testOpenAOO34WithHeaderFooter() throws Exception{
+               //open sample file
+               String file = testFile("sd/AOO3.4HeaderFooter.odp");
+               app.dispatch(".uno:Open");
+               submitOpenDlg(file);
+
+               //check after reopen            
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               assertEquals("fixed 
date",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("footer test",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               SD_SlideNumAsFooterOnSlide.uncheck();
+               SD_ApplyToAllButtonOnSlideFooter.click();
+
+               //save to odp and reopen
+               impress.menuItem("File->Save As...").select();
+               String saveTo2 = fullPath("temp/" + "AOO3.4HeaderFooter.odp");
+               FileUtil.deleteFile(saveTo2);
+               submitSaveDlg(saveTo2); 
+               impress.menuItem("File->Close").select();
+               sleep(1);
+
+               openStartcenter();
+               app.dispatch(".uno:Open");
+               String openFrom2=fullPath("temp/" + "AOO3.4HeaderFooter.odp");
+               submitOpenDlg(openFrom2);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked());
+               //end-save to odp and reopen
+       }
+
+       /**
+        * Test open ppt file with header and footer.
+        * edit and save to PPT/ODP
+        * @throws Exception
+        */
+       @Test
+       public void testOpenPPTWithHeaderFooter() throws Exception{
+               //open sample file
+               String file = testFile("sd/gfdd.ppt");
+               app.dispatch(".uno:Open");
+               submitOpenDlg(file);
+
+               //check after reopen            
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked());
+               
assertEquals("testdte",SD_FixedDateAndTimeOnSlideInput.getText());
+               assertEquals(true,SD_FooterTextOnSlide.isChecked());
+               assertEquals("yesy",SD_FooterTextOnSlideInput.getText());
+               assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked());
+
+               SD_SlideNumAsFooterOnSlide.uncheck();
+               SD_ApplyToAllButtonOnSlideFooter.click();
+
+               //save to ppt and reopen
+               impress.menuItem("File->Save As...").select();
+               String saveTo = fullPath("temp/" + "gfdd.ppt");
+               FileUtil.deleteFile(saveTo);
+               submitSaveDlg(saveTo);  
+               if (AlienFormatDlg.exists(3))
+                       AlienFormatDlg.ok();
+               sleep(1);
+               impress.menuItem("File->Close").select();
+               sleep(1);
+
+               openStartcenter();
+               app.dispatch(".uno:Open");
+               String openFrom=fullPath("temp/" + "gfdd.ppt");
+               submitOpenDlg(openFrom);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked());
+               //end-save to ppt and reopen
+
+               //close Header and Footer dialog.
+               SD_ApplyButtonOnSlideFooter.focus();
+               typeKeys("<tab>");
+               typeKeys("<enter>");
+               //end
+
+               //save to odp and reopen
+               impress.menuItem("File->Save As...").select();
+               String saveTo2 = fullPath("temp/" + "gfdd.odp");
+               FileUtil.deleteFile(saveTo2);
+               submitSaveDlg(saveTo2); 
+               impress.menuItem("File->Close").select();
+               sleep(1);
+
+               openStartcenter();
+               app.dispatch(".uno:Open");
+               String openFrom2=fullPath("temp/" + "gfdd.odp");
+               submitOpenDlg(openFrom2);
+
+               impress.menuItem("View->Header and Footer...").select();
+               sleep(1);
+               assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked());
+               //end-save to odp and reopen
+       }
+}

Added: 
incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/Table.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/Table.java?rev=1362744&view=auto
==============================================================================
--- 
incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/Table.java 
(added)
+++ 
incubator/ooo/trunk/main/test/testoo/src/testcase/textdocument/table/Table.java 
Wed Jul 18 02:28:42 2012
@@ -0,0 +1,90 @@
+/**************************************************************
+ * 
+ * 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 testcase.textdocument.table;
+
+import static testlib.AppUtil.*;
+import static testlib.UIMap.*;
+import static org.junit.Assert.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.openoffice.test.common.SystemUtil;
+
+import testlib.Log;
+
+/**
+ *
+ */
+public class Table {
+
+       @Rule
+       public Log LOG = new Log();
+
+       @Before
+       public void setUp() throws Exception {
+               app.start();
+       }
+
+       @After
+       public void tearDown() throws Exception {
+               app.close();
+       }
+
+       /**
+        * Test convert table to text in text document
+        * @throws Exception
+        */
+       @Test
+       public void testConvertTableToText() throws Exception{
+
+               //Create a new text document
+               startcenter.menuItem("File->New->Text Document").select();
+               sleep(3);
+
+               // Insert a table and input some data
+               writer.menuItem("Insert->Table...").select();
+               writer_InsertTable.ok();
+               writer.focus();
+               typeKeys("1<right>2<right>3<right>4");
+               sleep(1);
+
+               // Convert table to text
+               writer.menuItem("Table->Convert->Table to Text...").select();
+               assertTrue("Convert Table to Text dialog pop up", 
writer_ConvertTableToTextDlg.exists());
+               typeKeys("<enter>");
+               sleep(1);
+
+               // Verify if text is converted successfully
+               writer.menuItem("Edit->Select All").select();
+               app.dispatch(".uno:Copy");
+               if (SystemUtil.isWindows())
+                       assertEquals("Converted text", "1\t2\r\n3\t4\r\n", 
app.getClipboard()); // windows�лس�������\r\n
+               else
+                       assertEquals("Converted text", "1\t2\n3\t4\n", 
app.getClipboard());
+       }
+}

Modified: incubator/ooo/trunk/main/test/testoo/src/testlib/AppUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testlib/AppUtil.java?rev=1362744&r1=1362743&r2=1362744&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testoo/src/testlib/AppUtil.java (original)
+++ incubator/ooo/trunk/main/test/testoo/src/testlib/AppUtil.java Wed Jul 18 
02:28:42 2012
@@ -57,6 +57,9 @@ public class AppUtil extends Tester {
                } 
        }
        
+       public static void typeKeys(String keys) {
+               Tester.typeKeys(keys);
+       }
 
        public static void openStartcenter() {
                if (startcenter.exists())

Modified: incubator/ooo/trunk/main/test/testoo/src/testlib/UIMap.java
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testoo/src/testlib/UIMap.java?rev=1362744&r1=1362743&r2=1362744&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testoo/src/testlib/UIMap.java (original)
+++ incubator/ooo/trunk/main/test/testoo/src/testlib/UIMap.java Wed Jul 18 
02:28:42 2012
@@ -235,17 +235,17 @@ public class UIMap {
        public static final VclControl DataPilotFieldSelect = control("59030");
        public static final VclButton DataPilotAutomaticallyUpdateCheckBox = 
button("3643262003");
        public static final VclButton DataPilotTableUpdateButton = 
button("3643265586");
-       public static final VclButton SD_DateAndTimeFooterOnSlide = 
button("553255938");
-       public static final VclButton SD_FixedDateAndTimeFooterOnSlide = 
button("553255427");
-       public static final VclEditBox SD_FixedDateAndTimeOnSlideInput = 
editbox("553256964");
-       public static final VclButton SD_FooterTextOnSlide = 
button("553255946");
-       public static final VclEditBox SD_FooterTextOnSlideInput = 
editbox("553256972");
-       public static final VclButton SD_SlideNumAsFooterOnSlide = 
button("553255950");
-       public static final VclButton SD_ApplyToAllButtonOnSlideFooter = 
button("553259537");
-       public static final VclWindow SD_SlidesPanel = window("59787");
-       public static final VclControl SD_SlidelistInNaviagtor = 
control("59793");
-       public static final VclControl SD_HeaderAndFooterDialog = 
control("59901");
-       public static final VclButton SD_ApplyButtonOnSlideFooter = 
button("553259538");
+       public static final VclButton SD_DateAndTimeFooterOnSlide = 
button("sd:CheckBox:RID_SD_TABPAGE_HEADERFOOTER:CB_DATETIME");
+       public static final VclButton SD_FixedDateAndTimeFooterOnSlide = 
button("sd:RadioButton:RID_SD_TABPAGE_HEADERFOOTER:RB_DATETIME_FIXED");
+       public static final VclEditBox SD_FixedDateAndTimeOnSlideInput = 
editbox("sd:Edit:RID_SD_TABPAGE_HEADERFOOTER:TB_DATETIME_FIXED");
+       public static final VclButton SD_FooterTextOnSlide = 
button("sd:CheckBox:RID_SD_TABPAGE_HEADERFOOTER:CB_FOOTER");
+       public static final VclEditBox SD_FooterTextOnSlideInput = 
editbox("sd:Edit:RID_SD_TABPAGE_HEADERFOOTER:TB_FOOTER_FIXED");
+       public static final VclButton SD_SlideNumAsFooterOnSlide = 
button("sd:CheckBox:RID_SD_TABPAGE_HEADERFOOTER:CB_SLIDENUMBER");
+       public static final VclButton SD_ApplyToAllButtonOnSlideFooter = 
button("sd:PushButton:RID_SD_TABPAGE_HEADERFOOTER:BT_APPLYTOALL");
+//     public static final VclWindow SD_SlidesPanel = 
window("HID_SD_WIN_DOCUMENT");
+       public static final VclControl SD_SlidelistInNaviagtor = 
control("HID_SD_NAVIGATOR_TLB");
+       public static final VclControl SD_HeaderAndFooterDialog = 
control("HID_SD_TABPAGE_HEADERFOOTER_SLIDE");
+       public static final VclButton SD_ApplyButtonOnSlideFooter = 
button("sd:PushButton:RID_SD_TABPAGE_HEADERFOOTER:BT_APPLY");
        public static final VclButton SD_InsertPageButtonOnToolbar = 
button(".uno:InsertPage");
        public static final VclControl DataPilotPaneRowArea = control("59036");
        public static final VclEditBox DataPilotFieldDisplayNameEditBox = 
editbox("971868166");
@@ -257,10 +257,10 @@ public class UIMap {
        public static final VclButton 
DataPilotFieldOptionSortDescendingRadioButton = button("958972620");
        public static final VclControl DataPiloPaneDataArea = control("59038");
        public static final VclControl DataPilotColumnArea = control("59034");
-       public static final VclButton SD_HeaderTextOnNotes = 
button("553255958");
-       public static final VclEditBox SD_HeaderTextOnNotesInput = 
editbox("553256984");
-       public static final VclTabPage SD_HeaderAndFooterOnNotesTabPage = 
tabpage("59902");
-       public static final VclButton SD_FooterNotShowOn1stSlide = 
button("553255952");
+       public static final VclButton SD_HeaderTextOnNotes = 
button("sd:CheckBox:RID_SD_TABPAGE_HEADERFOOTER:CB_HEADER");
+       public static final VclEditBox SD_HeaderTextOnNotesInput = 
editbox("sd:Edit:RID_SD_TABPAGE_HEADERFOOTER:TB_HEADER_FIXED");
+       public static final VclTabPage SD_HeaderAndFooterOnNotesTabPage = 
tabpage("SD_HID_SD_TABPAGE_HEADERFOOTER_NOTESHANDOUT");
+       public static final VclButton SD_FooterNotShowOn1stSlide = 
button("sd:CheckBox:RID_SD_TABPAGE_HEADERFOOTER:CB_NOTONTITLE");
        public static final VclTabPage SortOptionsPage = 
tabpage("SC_HID_SCPAGE_SORT_OPTIONS");
        public static final VclButton SortOptionsPage_CaseSensitive = 
button("sc:CheckBox:RID_SCPAGE_SORT_OPTIONS:BTN_CASESENSITIVE");
        public static final VclButton SortOptionsPage_CopyResultTo = 
button("sc:CheckBox:RID_SCPAGE_SORT_OPTIONS:BTN_COPYRESULT");
@@ -272,12 +272,11 @@ public class UIMap {
        public static final VclButton 
DataPilotFieldOptionSubTotalsNeverRadioButton = button("958956135");
        public static final VclButton 
DataPilotFieldOptionSortAscendingRadioButton = button("958972619");
        public static final VclControl DataPilotPanePageArea = control("59032");
-       public static final VclDialog SaveInODFOrNot = dialog("33388");
        public static final VclButton OnlyDisplayTopNItemCheckBox = 
button("1495745540");
        public static final VclField NumberOfItemShowInTopNEditBox = 
field("1495750661");
        public static final VclDialog FieldTopNSettingDialog = dialog("59039");
-       public static final VclButton SD_AutoUpdateTimeFooter = 
button("553255429");
-       public static final VclListBox SD_AutoUpdateTimeFooterType = 
listbox("553258502");
+       public static final VclButton SD_AutoUpdateTimeFooter = 
button("sd:RadioButton:RID_SD_TABPAGE_HEADERFOOTER:RB_DATETIME_AUTOMATIC");
+       public static final VclListBox SD_AutoUpdateTimeFooterType = 
listbox("sd:ListBox:RID_SD_TABPAGE_HEADERFOOTER:CB_DATETIME_FORMAT");
        public static final VclButton DataPilotButton = button("59270");
        public static final VclDockingWin DataPilotPanel = 
dockingwin("3643260928");
        public static final VclListBox SCSubTotalsGroupByListBox = 
listbox("SC_HID_SC_SUBT_GROUP");


Reply via email to