1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 /** 25 * 26 */ 27 package testcase.gui.sd.headerandfooter; 28 import static org.openoffice.test.common.Testspace.*; 29 import static testlib.gui.AppUtil.*; 30 import static testlib.gui.UIMap.*; 31 import static org.junit.Assert.*; 32 import static org.openoffice.test.vcl.Tester.*; 33 import org.junit.After; 34 import org.junit.Before; 35 import org.junit.Rule; 36 import org.junit.Test; 37 import org.openoffice.test.common.FileUtil; 38 39 import testlib.gui.ImpressUtil; 40 import testlib.gui.Log; 41 42 public class HeaderAndFooterSetting{ 43 44 @Rule 45 public Log LOG = new Log(); 46 47 @Before 48 public void setUp() throws Exception { 49 app.start(true); // Bug 120476 50 51 // New a impress, insert some slides 52 app.dispatch("private:factory/simpress?slot=6686"); 53 PresentationWizard.ok(); 54 impress.waitForExistence(10, 2); 55 56 for(int i=0; i<5;i++){ 57 SD_InsertPageButtonOnToolbar.click(); 58 } 59 // Pop up navigator panel 60 if (!SD_NavigatorDlg.exists()) { 61 app.dispatch(".uno:Navigator"); 62 } 63 } 64 65 @After 66 public void tearDown() throws Exception { 67 68 } 69 70 /** 71 * Test Copy slide with Apply Footer to same file and different file 72 * @throws Exception 73 */ 74 @Test 75 public void testCopySlideWithApplyFooter() throws Exception{ 76 77 //add header and footer 78 app.dispatch(".uno:HeaderAndFooter"); 79 80 SD_DateAndTimeFooterOnSlide.check(); 81 SD_FixedDateAndTimeFooterOnSlide.check(); 82 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 83 SD_FooterTextOnSlide.check(); 84 SD_FooterTextOnSlideInput.setText("Footer Test"); 85 SD_SlideNumAsFooterOnSlide.check(); 86 SD_ApplyToAllButtonOnSlideFooter.click(); 87 88 // Click slide 3 89 ImpressSlideSorter.focus(); 90 typeKeys("<up><up><up>"); 91 sleep(1); 92 app.dispatch(".uno:HeaderAndFooter"); 93 SD_SlideNumAsFooterOnSlide.uncheck(); 94 SD_ApplyButtonOnSlideFooter.click(); 95 96 //paste to the same file 97 ImpressSlideSorter.focus(); 98 app.dispatch(".uno:Copy"); 99 app.dispatch(".uno:Paste"); 100 101 app.dispatch(".uno:HeaderAndFooter"); 102 assertEquals("Fix Date: 20120323", SD_FixedDateAndTimeOnSlideInput.getText()); 103 assertEquals("Footer Test", SD_FooterTextOnSlideInput.getText()); 104 assertEquals(false, SD_SlideNumAsFooterOnSlide.isChecked()); 105 SD_HeaderAndFooterDlgSlideTab.cancel(); 106 107 //paste to different file 108 impress.focus(); 109 app.dispatch("private:factory/simpress?slot=6686"); 110 PresentationWizard.ok(); 111 app.dispatch(".uno:Paste"); 112 ImpressSlideSorter.focus(); 113 typeKeys("<down>"); 114 sleep(1); 115 116 app.dispatch(".uno:HeaderAndFooter"); 117 assertEquals("Fix Date: 20120323", SD_FixedDateAndTimeOnSlideInput.getText()); 118 assertEquals("Footer Test", SD_FooterTextOnSlideInput.getText()); 119 assertEquals(false, SD_SlideNumAsFooterOnSlide.isChecked()); 120 } 121 122 /** 123 * Test Copy slide with Apply to all Footer to same file and different file 124 * @throws Exception 125 */ 126 @Test 127 public void testCopySlideWithApplyToAllFooter() throws Exception{ 128 129 //add header and footer 130 app.dispatch(".uno:HeaderAndFooter"); 131 132 SD_DateAndTimeFooterOnSlide.check(); 133 SD_FixedDateAndTimeFooterOnSlide.check(); 134 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 135 SD_FooterTextOnSlide.check(); 136 SD_FooterTextOnSlideInput.setText("Footer Test"); 137 SD_SlideNumAsFooterOnSlide.check(); 138 SD_ApplyToAllButtonOnSlideFooter.click(); 139 140 ImpressSlideSorter.focus(); 141 for(int j=0; j<=2;j++){ 142 typeKeys("<up>"); 143 } 144 app.dispatch(".uno:HeaderAndFooter"); 145 SD_SlideNumAsFooterOnSlide.uncheck(); 146 SD_ApplyButtonOnSlideFooter.click(); 147 148 //paste to the same file 149 ImpressSlideSorter.focus(); 150 typeKeys("<up>"); 151 app.dispatch(".uno:Copy"); 152 typeKeys("<down>"); 153 app.dispatch(".uno:Paste"); 154 155 app.dispatch(".uno:HeaderAndFooter"); 156 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 157 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 158 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 159 SD_HeaderAndFooterDlgSlideTab.cancel(); 160 161 //paste to different file 162 app.dispatch("private:factory/simpress?slot=6686"); 163 PresentationWizard.ok(); 164 app.dispatch(".uno:Paste"); 165 ImpressSlideSorter.focus(); 166 typeKeys("<down>"); 167 sleep(1); // If no sleep, error occur 168 169 app.dispatch(".uno:HeaderAndFooter"); 170 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 171 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 172 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 173 } 174 175 /** 176 * Test Copy slide with Notes Footer to same file and different file 177 * @throws Exception 178 */ 179 @Test 180 public void testCopySlideWithNotesHeaderFooter() throws Exception{ 181 182 //add header and footer 183 app.dispatch(".uno:HeaderAndFooter"); 184 SD_HeaderAndFooterOnNotesTabPage.select(); 185 SD_HeaderTextOnNotes.check(); 186 SD_HeaderTextOnNotesInput.setText("Header Test"); 187 SD_DateAndTimeFooterOnSlide.check(); 188 SD_FixedDateAndTimeFooterOnSlide.check(); 189 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329"); 190 SD_FooterTextOnSlide.check(); 191 SD_FooterTextOnSlideInput.setText("Footer Test"); 192 SD_SlideNumAsFooterOnSlide.check(); 193 SD_ApplyToAllButtonOnSlideFooter.click(); 194 195 //paste to the same file 196 ImpressSlideSorter.focus(); 197 typeKeys("<up>"); 198 app.dispatch(".uno:Copy"); 199 typeKeys("<down>"); 200 app.dispatch(".uno:Paste"); 201 202 app.dispatch(".uno:HeaderAndFooter"); 203 SD_HeaderAndFooterOnNotesTabPage.select(); 204 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 205 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 206 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 207 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 208 SD_HeaderAndFooterOnNotesTabPage.cancel(); 209 210 //paste to different file 211 impress.focus(); 212 app.dispatch("private:factory/simpress?slot=6686"); 213 PresentationWizard.ok(); 214 app.dispatch(".uno:Paste"); 215 ImpressSlideSorter.focus(); 216 typeKeys("<down>"); 217 ImpressUtil.getCurView().activate(); 218 app.dispatch(".uno:HeaderAndFooter"); 219 SD_HeaderAndFooterOnNotesTabPage.select(); 220 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 221 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 222 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 223 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 224 } 225 226 /** 227 * Test duplicate slide with Apply to all Footer to same file 228 * @throws Exception 229 */ 230 @Test 231 public void testDuplicateSlideWithApplyToAllFooter() throws Exception{ 232 233 //add header and footer 234 app.dispatch(".uno:HeaderAndFooter"); 235 236 SD_DateAndTimeFooterOnSlide.check(); 237 SD_FixedDateAndTimeFooterOnSlide.check(); 238 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 239 SD_FooterTextOnSlide.check(); 240 SD_FooterTextOnSlideInput.setText("Footer Test"); 241 SD_SlideNumAsFooterOnSlide.check(); 242 SD_ApplyToAllButtonOnSlideFooter.click(); 243 244 245 ImpressSlideSorter.focus(); 246 for(int j=0; j<=2;j++){ 247 typeKeys("<up>"); 248 } 249 app.dispatch(".uno:DuplicatePage"); 250 app.dispatch(".uno:HeaderAndFooter"); 251 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 252 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 253 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 254 } 255 256 /** 257 * Test footer not show on the first slide. 258 * @throws Exception 259 */ 260 @Test 261 public void testFooterNotShowOn1stSlide() throws Exception{ 262 263 //add header and footer 264 app.dispatch(".uno:HeaderAndFooter"); 265 SD_FooterTextOnSlide.check(); 266 SD_FooterTextOnSlideInput.setText("Footer Test"); 267 SD_FooterNotShowOn1stSlide.check(); 268 SD_ApplyToAllButtonOnSlideFooter.click(); 269 270 // Check slide 1 271 ImpressSlideSorter.focus(); 272 // typeKeys("<up><up><up><up><up>"); // Not stable on ubuntu10.04 273 // sleep(1); // If no sleep, error occur 274 for (int i=0; i<5; i++) { 275 typeKeys("<up>"); 276 sleep(1); 277 } 278 279 app.dispatch(".uno:HeaderAndFooter"); 280 assertEquals(true,SD_FooterNotShowOn1stSlide.isChecked()); 281 assertEquals(false,SD_FooterTextOnSlide.isChecked()); 282 } 283 284 /** 285 * Test Insert Footer to focus slide. 286 * @throws Exception 287 */ 288 @Test 289 public void testInsertApplyFooterOnSlide() throws Exception{ 290 291 //add header and footer to focus slide. 292 app.dispatch(".uno:HeaderAndFooter"); 293 294 SD_DateAndTimeFooterOnSlide.check(); 295 SD_FixedDateAndTimeFooterOnSlide.check(); 296 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 297 SD_FooterTextOnSlide.check(); 298 SD_FooterTextOnSlideInput.setText("Footer Test"); 299 SD_SlideNumAsFooterOnSlide.check(); 300 SD_ApplyButtonOnSlideFooter.click(); 301 302 app.dispatch(".uno:HeaderAndFooter"); 303 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 304 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 305 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 306 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 307 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 308 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 309 //close header and footer dialog. 310 SD_ApplyButtonOnSlideFooter.focus(); 311 typeKeys("<tab>"); 312 typeKeys("<enter>"); 313 //end close 314 315 ImpressSlideSorter.focus(); 316 typeKeys("<up>"); 317 sleep(1); // If no sleep, error occur 318 319 app.dispatch(".uno:HeaderAndFooter"); 320 assertEquals("",SD_FixedDateAndTimeOnSlideInput.getText()); 321 assertEquals("",SD_FooterTextOnSlideInput.getText()); 322 assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked()); 323 //close header and footer dialog. 324 SD_ApplyButtonOnSlideFooter.focus(); 325 typeKeys("<tab>"); 326 typeKeys("<enter>"); 327 //end close 328 329 SD_InsertPageButtonOnToolbar.click(); 330 app.dispatch(".uno:HeaderAndFooter"); 331 assertEquals("",SD_FixedDateAndTimeOnSlideInput.getText()); 332 assertEquals("",SD_FooterTextOnSlideInput.getText()); 333 assertEquals(false,SD_SlideNumAsFooterOnSlide.isChecked()); 334 } 335 336 /** 337 * Test Insert Footer to Notes View 338 * @throws Exception 339 */ 340 @Test 341 public void testInsertApplyToAllFooterOnNotes() throws Exception{ 342 343 //add header and footer to focus slide. 344 app.dispatch(".uno:HeaderAndFooter"); 345 SD_HeaderAndFooterOnNotesTabPage.select(); 346 SD_HeaderTextOnNotes.check(); 347 SD_HeaderTextOnNotesInput.setText("Header Test"); 348 SD_DateAndTimeFooterOnSlide.check(); 349 SD_FixedDateAndTimeFooterOnSlide.check(); 350 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 351 SD_FooterTextOnSlide.check(); 352 SD_FooterTextOnSlideInput.setText("Footer Test"); 353 SD_SlideNumAsFooterOnSlide.check(); 354 SD_ApplyToAllButtonOnSlideFooter.click(); 355 356 app.dispatch(".uno:HeaderAndFooter"); 357 SD_HeaderAndFooterOnNotesTabPage.select(); 358 assertEquals(true,SD_HeaderTextOnNotes.isChecked()); 359 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 360 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 361 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 362 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 363 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 364 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 365 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 366 //close header and footer dialog. 367 SD_ApplyToAllButtonOnSlideFooter.focus(); 368 typeKeys("<tab>"); 369 typeKeys("<enter>"); 370 //end close 371 372 ImpressSlideSorter.focus(); 373 typeKeys("<up>"); 374 375 app.dispatch(".uno:HeaderAndFooter"); 376 SD_HeaderAndFooterOnNotesTabPage.select(); 377 assertEquals(true,SD_HeaderTextOnNotes.isChecked()); 378 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 379 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 380 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 381 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 382 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 383 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 384 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 385 //close header and footer dialog. 386 SD_ApplyToAllButtonOnSlideFooter.focus(); 387 typeKeys("<tab>"); 388 typeKeys("<enter>"); 389 //end close 390 391 SD_InsertPageButtonOnToolbar.click(); 392 app.dispatch(".uno:HeaderAndFooter"); 393 SD_HeaderAndFooterOnNotesTabPage.select(); 394 assertEquals(true,SD_HeaderTextOnNotes.isChecked()); 395 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 396 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 397 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 398 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 399 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 400 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 401 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 402 } 403 404 /** 405 * Test Insert Footer to Slide, use Apply to All 406 * @throws Exception 407 */ 408 @Test 409 public void testInsertApplyToAllFooterOnSlide() throws Exception{ 410 411 //add header and footer to focus slide. 412 app.dispatch(".uno:HeaderAndFooter"); 413 414 SD_DateAndTimeFooterOnSlide.check(); 415 SD_FixedDateAndTimeFooterOnSlide.check(); 416 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120323"); 417 SD_FooterTextOnSlide.check(); 418 SD_FooterTextOnSlideInput.setText("Footer Test"); 419 SD_SlideNumAsFooterOnSlide.check(); 420 SD_ApplyToAllButtonOnSlideFooter.click(); 421 422 app.dispatch(".uno:HeaderAndFooter"); 423 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 424 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 425 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 426 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 427 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 428 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 429 //close header and footer dialog. 430 SD_ApplyButtonOnSlideFooter.focus(); 431 typeKeys("<tab>"); 432 typeKeys("<enter>"); 433 //end close 434 435 ImpressSlideSorter.focus(); 436 typeKeys("<up>"); 437 438 app.dispatch(".uno:HeaderAndFooter"); 439 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 440 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 441 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 442 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 443 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 444 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 445 //close header and footer dialog. 446 SD_ApplyButtonOnSlideFooter.focus(); 447 typeKeys("<tab>"); 448 typeKeys("<enter>"); 449 //end close 450 451 SD_InsertPageButtonOnToolbar.click(); 452 app.dispatch(".uno:HeaderAndFooter"); 453 assertEquals(true,SD_DateAndTimeFooterOnSlide.isChecked()); 454 assertEquals(true,SD_FixedDateAndTimeFooterOnSlide.isChecked()); 455 assertEquals("Fix Date: 20120323",SD_FixedDateAndTimeOnSlideInput.getText()); 456 assertEquals(true,SD_FooterTextOnSlide.isChecked()); 457 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 458 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 459 } 460 461 /** 462 * Test Insert update automatically time footer to slides. 463 * @throws Exception 464 */ 465 @Test 466 public void testInsertAutoUpdateTimeFooter() throws Exception{ 467 468 //add header and footer 469 app.dispatch(".uno:HeaderAndFooter"); 470 SD_AutoUpdateTimeFooter.check(); 471 SD_AutoUpdateTimeFooterType.select(7); 472 String currentTime=SD_AutoUpdateTimeFooterType.getItemText(7); 473 SD_ApplyToAllButtonOnSlideFooter.click(); 474 sleep(1); // Wait some time to check the time update 475 476 app.dispatch(".uno:HeaderAndFooter"); 477 String updatedTime=SD_AutoUpdateTimeFooterType.getItemText(7); 478 assertNotSame("Time can not update", currentTime, updatedTime); 479 } 480 481 /** 482 * Test Insert update automatically time footer to Notes view. 483 * @throws Exception 484 */ 485 @Test 486 public void testInsertAutoUpdateTimeFooterOnNotes() throws Exception{ 487 488 //add header and footer 489 app.dispatch(".uno:HeaderAndFooter"); 490 SD_HeaderAndFooterOnNotesTabPage.select(); 491 SD_AutoUpdateTimeFooter.check(); 492 String currentTime=SD_AutoUpdateTimeFooterType.getItemText(7); 493 SD_ApplyToAllButtonOnSlideFooter.click(); 494 sleep(1); // Wait some time to check the time update 495 496 app.dispatch(".uno:HeaderAndFooter"); 497 SD_HeaderAndFooterOnNotesTabPage.select(); 498 String updatedTime=SD_AutoUpdateTimeFooterType.getItemText(7); 499 500 assertNotSame("Time can not update", currentTime, updatedTime); 501 } 502 503 /** 504 * Test Insert Header and Footer to Notes view. 505 * Save and ReOpen 506 * @throws Exception 507 */ 508 @Test 509 public void testInsertHeaderFooterOnNotes() throws Exception{ 510 511 //add header and footer 512 app.dispatch(".uno:HeaderAndFooter"); 513 SD_HeaderAndFooterOnNotesTabPage.select(); 514 SD_HeaderTextOnNotes.check(); 515 SD_HeaderTextOnNotesInput.setText("Header Test"); 516 SD_DateAndTimeFooterOnSlide.check(); 517 SD_FixedDateAndTimeFooterOnSlide.check(); 518 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329"); 519 SD_FooterTextOnSlide.check(); 520 SD_FooterTextOnSlideInput.setText("Footer Test"); 521 SD_SlideNumAsFooterOnSlide.check(); 522 SD_ApplyToAllButtonOnSlideFooter.click(); 523 524 ImpressSlideSorter.focus(); 525 typeKeys("<up>"); 526 527 app.dispatch(".uno:HeaderAndFooter"); 528 SD_HeaderAndFooterOnNotesTabPage.select(); 529 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 530 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 531 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 532 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 533 SD_HeaderAndFooterOnNotesTabPage.cancel(); 534 535 //save this file 536 app.dispatch(".uno:SaveAs"); 537 String saveTo = getPath("temp/" + "hello.odp"); 538 FileUtil.deleteFile(saveTo); 539 submitSaveDlg(saveTo); 540 app.dispatch(".uno:CloseDoc"); 541 542 //Reopen this file 543 openStartcenter(); 544 app.dispatch(".uno:Open"); 545 String openFrom=getPath("temp/" + "hello.odp"); 546 submitOpenDlg(openFrom); 547 548 //check after reopen 549 app.dispatch(".uno:HeaderAndFooter"); 550 SD_HeaderAndFooterOnNotesTabPage.select(); 551 assertEquals("Header Test",SD_HeaderTextOnNotesInput.getText()); 552 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 553 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 554 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 555 } 556 557 /** 558 * Test Insert Header and Footer to Slide 559 * Save and Reopen 560 * @throws Exception 561 */ 562 @Test 563 public void testInsertHeaderFooterOnSlide() throws Exception{ 564 565 //add header and footer 566 app.dispatch(".uno:HeaderAndFooter"); 567 SD_DateAndTimeFooterOnSlide.check(); 568 SD_FixedDateAndTimeFooterOnSlide.check(); 569 SD_FixedDateAndTimeOnSlideInput.setText("Fix Date: 20120329"); 570 SD_FooterTextOnSlide.check(); 571 SD_FooterTextOnSlideInput.setText("Footer Test"); 572 SD_SlideNumAsFooterOnSlide.check(); 573 SD_ApplyToAllButtonOnSlideFooter.click(); 574 575 ImpressSlideSorter.focus(); 576 typeKeys("<up>"); 577 578 app.dispatch(".uno:HeaderAndFooter"); 579 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 580 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 581 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 582 583 //close header and footer dialog. 584 SD_ApplyButtonOnSlideFooter.focus(); 585 typeKeys("<tab>"); 586 typeKeys("<enter>"); 587 588 //save this file 589 app.dispatch(".uno:SaveAs"); 590 String saveTo = getPath("temp/" + "hello.odp"); 591 FileUtil.deleteFile(saveTo); 592 submitSaveDlg(saveTo); 593 app.dispatch(".uno:CloseDoc"); 594 595 //Reopen this file 596 openStartcenter(); 597 app.dispatch(".uno:Open"); 598 String openFrom=getPath("temp/" + "hello.odp"); 599 submitOpenDlg(openFrom); 600 601 //check after reopen 602 app.dispatch(".uno:HeaderAndFooter"); 603 assertEquals("Fix Date: 20120329",SD_FixedDateAndTimeOnSlideInput.getText()); 604 assertEquals("Footer Test",SD_FooterTextOnSlideInput.getText()); 605 assertEquals(true,SD_SlideNumAsFooterOnSlide.isChecked()); 606 } 607 } 608