1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski package fvt.gui.sc.validity; 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski import static org.junit.Assert.*; 25*b1cdbd2cSJim Jagielski import static testlib.gui.AppTool.*; 26*b1cdbd2cSJim Jagielski import static testlib.gui.UIMap.*; 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski import org.junit.After; 29*b1cdbd2cSJim Jagielski import org.junit.Before; 30*b1cdbd2cSJim Jagielski import org.junit.Ignore; 31*b1cdbd2cSJim Jagielski import org.junit.Rule; 32*b1cdbd2cSJim Jagielski import org.junit.Test; 33*b1cdbd2cSJim Jagielski import org.openoffice.test.common.Logger; 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski import testlib.gui.AppTool; 36*b1cdbd2cSJim Jagielski import testlib.gui.SCTool; 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski public class ValidityDialogSetting { 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski @Rule 41*b1cdbd2cSJim Jagielski public Logger log = Logger.getLogger(this); 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski @Before setUp()44*b1cdbd2cSJim Jagielski public void setUp() throws Exception { 45*b1cdbd2cSJim Jagielski app.start(true); 46*b1cdbd2cSJim Jagielski AppTool.newSpreadsheet(); 47*b1cdbd2cSJim Jagielski SCTool.selectRange("A1:C5"); 48*b1cdbd2cSJim Jagielski app.dispatch(".uno:Validation"); 49*b1cdbd2cSJim Jagielski } 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski @After tearDown()52*b1cdbd2cSJim Jagielski public void tearDown() throws Exception { 53*b1cdbd2cSJim Jagielski app.stop(); 54*b1cdbd2cSJim Jagielski } 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski /** 57*b1cdbd2cSJim Jagielski * test Allow not between Date type in Validity. 58*b1cdbd2cSJim Jagielski */ 59*b1cdbd2cSJim Jagielski @Test testAllowDateNotBetween()60*b1cdbd2cSJim Jagielski public void testAllowDateNotBetween() { 61*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 62*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(3); // "Date" 63*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(7); // "not between" 64*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("01/01/08"); 65*b1cdbd2cSJim Jagielski scValidityMaxValueInput.setText("03/01/08"); 66*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 67*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 68*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 69*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 70*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 71*b1cdbd2cSJim Jagielski 72*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 73*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 74*b1cdbd2cSJim Jagielski typeKeys("12/31/07"); 75*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 76*b1cdbd2cSJim Jagielski assertEquals("12/31/07", SCTool.getCellText("A1")); 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 79*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 80*b1cdbd2cSJim Jagielski typeKeys("03/02/08"); 81*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 82*b1cdbd2cSJim Jagielski assertEquals("03/02/08", SCTool.getCellText("A2")); 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 85*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 86*b1cdbd2cSJim Jagielski typeKeys("01/01/08"); 87*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 88*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 89*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 90*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A3")); 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski SCTool.selectRange("A4"); 93*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 94*b1cdbd2cSJim Jagielski typeKeys("03/01/08"); 95*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 96*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 97*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 98*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A4")); 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski SCTool.selectRange("A5"); 101*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 102*b1cdbd2cSJim Jagielski typeKeys("01/02/08"); 103*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 104*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 105*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 106*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A5")); 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 109*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 110*b1cdbd2cSJim Jagielski typeKeys("02/29/08"); 111*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 112*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 113*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 114*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B1")); 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski SCTool.selectRange("B2"); 117*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 118*b1cdbd2cSJim Jagielski typeKeys("test"); 119*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 120*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 121*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 122*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B2")); 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski SCTool.selectRange("B3"); 125*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 126*b1cdbd2cSJim Jagielski typeKeys("39448"); 127*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 128*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 129*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 130*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B3")); 131*b1cdbd2cSJim Jagielski } 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski /** 134*b1cdbd2cSJim Jagielski * test Allow Decimal equal in Validity. 135*b1cdbd2cSJim Jagielski */ 136*b1cdbd2cSJim Jagielski @Test testAllowDecimalEqual()137*b1cdbd2cSJim Jagielski public void testAllowDecimalEqual() { 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 140*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(2); // "Decimal" 141*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(0); // "equal" 142*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("0.33333333"); 143*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 144*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 145*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 146*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 147*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 150*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 151*b1cdbd2cSJim Jagielski typeKeys("0.33333333"); 152*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 153*b1cdbd2cSJim Jagielski assertEquals("0.33333333", SCTool.getCellText("A1")); 154*b1cdbd2cSJim Jagielski 155*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 156*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 157*b1cdbd2cSJim Jagielski typeKeys("=1/3"); 158*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 159*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 160*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 161*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A2")); 162*b1cdbd2cSJim Jagielski 163*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 164*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 165*b1cdbd2cSJim Jagielski typeKeys("0.3"); 166*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 167*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 168*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 169*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A3")); 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski SCTool.selectRange("A4"); 172*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 173*b1cdbd2cSJim Jagielski typeKeys("0.333333333"); 174*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 175*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 176*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 177*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A4")); 178*b1cdbd2cSJim Jagielski 179*b1cdbd2cSJim Jagielski SCTool.selectRange("B2"); 180*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 181*b1cdbd2cSJim Jagielski typeKeys("test"); 182*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 183*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 184*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 185*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B2")); 186*b1cdbd2cSJim Jagielski } 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski /** 189*b1cdbd2cSJim Jagielski * test Allow Text length, greater than or equal to in Validity. 190*b1cdbd2cSJim Jagielski */ 191*b1cdbd2cSJim Jagielski @Test testAllowGreaterTextLength()192*b1cdbd2cSJim Jagielski public void testAllowGreaterTextLength() { 193*b1cdbd2cSJim Jagielski 194*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 195*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(7); // "Text length" 196*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(4); // "greater than or equal to" 197*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("10"); 198*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 199*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 200*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 201*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 202*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 203*b1cdbd2cSJim Jagielski 204*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 205*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 206*b1cdbd2cSJim Jagielski typeKeys("testtesttesttest"); 207*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 208*b1cdbd2cSJim Jagielski assertEquals("testtesttesttest", SCTool.getCellText("A1")); 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 211*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 212*b1cdbd2cSJim Jagielski typeKeys("test test "); 213*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 214*b1cdbd2cSJim Jagielski assertEquals("test test ", SCTool.getCellText("A2")); 215*b1cdbd2cSJim Jagielski 216*b1cdbd2cSJim Jagielski SCTool.selectRange("A4"); 217*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 218*b1cdbd2cSJim Jagielski typeKeys(" "); 219*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 220*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 221*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 222*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A4")); 223*b1cdbd2cSJim Jagielski 224*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 225*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 226*b1cdbd2cSJim Jagielski typeKeys("Testatest"); 227*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 228*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 229*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 230*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A3")); 231*b1cdbd2cSJim Jagielski } 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski /** 234*b1cdbd2cSJim Jagielski * test Allow Text length, less than in Validity. 235*b1cdbd2cSJim Jagielski */ 236*b1cdbd2cSJim Jagielski @Test testAllowLessThanTextLength()237*b1cdbd2cSJim Jagielski public void testAllowLessThanTextLength() { 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 240*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(7); // "Text length" 241*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(1); // "less than" 242*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("10"); 243*b1cdbd2cSJim Jagielski 244*b1cdbd2cSJim Jagielski scValidityInputHelpTabPage.select(); 245*b1cdbd2cSJim Jagielski scValidityInputHelpCheckbox.check(); 246*b1cdbd2cSJim Jagielski scValidityInputHelpTitle.setText("Help Info Title"); 247*b1cdbd2cSJim Jagielski scValidityHelpMessage.setText("help info"); 248*b1cdbd2cSJim Jagielski 249*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 250*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 251*b1cdbd2cSJim Jagielski scValidityErrorAlertActionList.select("Information"); 252*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Notes to enter"); 253*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 254*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 257*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 258*b1cdbd2cSJim Jagielski typeKeys("testtesttesttest<enter>"); 259*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 260*b1cdbd2cSJim Jagielski assertEquals("testtesttesttest", SCTool.getCellText("A1")); 261*b1cdbd2cSJim Jagielski 262*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 263*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 264*b1cdbd2cSJim Jagielski typeKeys("sfsafsddddddd<enter>"); 265*b1cdbd2cSJim Jagielski activeMsgBox.cancel(); 266*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A2")); 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 269*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 270*b1cdbd2cSJim Jagielski typeKeys("10<enter>"); 271*b1cdbd2cSJim Jagielski assertEquals("10", SCTool.getCellText("A2")); 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 274*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 275*b1cdbd2cSJim Jagielski typeKeys("ok<enter>"); 276*b1cdbd2cSJim Jagielski assertEquals("ok", SCTool.getCellText("A3")); 277*b1cdbd2cSJim Jagielski } 278*b1cdbd2cSJim Jagielski 279*b1cdbd2cSJim Jagielski /** 280*b1cdbd2cSJim Jagielski * test Allow list. 281*b1cdbd2cSJim Jagielski */ 282*b1cdbd2cSJim Jagielski @Test testAllowListSpecialChar()283*b1cdbd2cSJim Jagielski public void testAllowListSpecialChar() { 284*b1cdbd2cSJim Jagielski 285*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 286*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(6); // "List" 287*b1cdbd2cSJim Jagielski scValidityEntries.focus(); 288*b1cdbd2cSJim Jagielski typeKeys("a"); 289*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 290*b1cdbd2cSJim Jagielski typeKeys("b"); 291*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 292*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 293*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 294*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 295*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 296*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.ok(); 297*b1cdbd2cSJim Jagielski 298*b1cdbd2cSJim Jagielski // These codes are not stable: start 299*b1cdbd2cSJim Jagielski // calc.rightClick(1, 1); 300*b1cdbd2cSJim Jagielski // typeKeys("<shift s>"); 301*b1cdbd2cSJim Jagielski // typeKeys("<down><enter>"); // Choose a 302*b1cdbd2cSJim Jagielski // sleep(2); // if no sleep, error occur 303*b1cdbd2cSJim Jagielski // These codes are not stable: end 304*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 305*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 306*b1cdbd2cSJim Jagielski typeKeys("a<enter>"); 307*b1cdbd2cSJim Jagielski assertEquals("a", SCTool.getCellText("A1")); 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim Jagielski SCTool.selectRange("B2"); 310*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 311*b1cdbd2cSJim Jagielski typeKeys("test"); 312*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 313*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 314*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 315*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B2")); 316*b1cdbd2cSJim Jagielski } 317*b1cdbd2cSJim Jagielski 318*b1cdbd2cSJim Jagielski /** 319*b1cdbd2cSJim Jagielski * test Allow time between in Validity. 320*b1cdbd2cSJim Jagielski */ 321*b1cdbd2cSJim Jagielski @Test testAllowTimeBetween()322*b1cdbd2cSJim Jagielski public void testAllowTimeBetween() { 323*b1cdbd2cSJim Jagielski 324*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 325*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(4); // "Time" 326*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(6); // "between" 327*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("27:00"); 328*b1cdbd2cSJim Jagielski scValidityMaxValueInput.setText("21:00"); 329*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 330*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 331*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 332*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 333*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 334*b1cdbd2cSJim Jagielski 335*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 336*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 337*b1cdbd2cSJim Jagielski typeKeys("21:00"); 338*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 339*b1cdbd2cSJim Jagielski assertEquals("09:00:00 PM", SCTool.getCellText("A1")); 340*b1cdbd2cSJim Jagielski 341*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 342*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 343*b1cdbd2cSJim Jagielski typeKeys("27:00"); 344*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 345*b1cdbd2cSJim Jagielski assertEquals("27:00:00", SCTool.getCellText("A2")); 346*b1cdbd2cSJim Jagielski 347*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 348*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 349*b1cdbd2cSJim Jagielski typeKeys("1.125"); 350*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 351*b1cdbd2cSJim Jagielski assertEquals("1.125", SCTool.getCellText("A3")); 352*b1cdbd2cSJim Jagielski 353*b1cdbd2cSJim Jagielski SCTool.selectRange("A4"); 354*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 355*b1cdbd2cSJim Jagielski typeKeys("0.875"); 356*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 357*b1cdbd2cSJim Jagielski assertEquals("0.875", SCTool.getCellText("A4")); 358*b1cdbd2cSJim Jagielski 359*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 360*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 361*b1cdbd2cSJim Jagielski typeKeys("03:00:01"); 362*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 363*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 364*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 365*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B1")); 366*b1cdbd2cSJim Jagielski 367*b1cdbd2cSJim Jagielski SCTool.selectRange("B2"); 368*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 369*b1cdbd2cSJim Jagielski typeKeys("20:59:59"); 370*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 371*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 372*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 373*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B2")); 374*b1cdbd2cSJim Jagielski 375*b1cdbd2cSJim Jagielski SCTool.selectRange("B3"); 376*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 377*b1cdbd2cSJim Jagielski typeKeys("1.126"); 378*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 379*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 380*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 381*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B3")); 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim Jagielski SCTool.selectRange("B4"); 384*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 385*b1cdbd2cSJim Jagielski typeKeys("0.874"); 386*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 387*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 388*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 389*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B4")); 390*b1cdbd2cSJim Jagielski 391*b1cdbd2cSJim Jagielski SCTool.selectRange("C1"); 392*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 393*b1cdbd2cSJim Jagielski typeKeys("test"); 394*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 395*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 396*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 397*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("C1")); 398*b1cdbd2cSJim Jagielski 399*b1cdbd2cSJim Jagielski SCTool.selectRange("C2"); 400*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 401*b1cdbd2cSJim Jagielski typeKeys("24:00"); 402*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 403*b1cdbd2cSJim Jagielski assertEquals("24:00:00", SCTool.getCellText("C2")); 404*b1cdbd2cSJim Jagielski 405*b1cdbd2cSJim Jagielski SCTool.selectRange("C3"); 406*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 407*b1cdbd2cSJim Jagielski typeKeys("12:00"); 408*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 409*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 410*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 411*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("C3")); 412*b1cdbd2cSJim Jagielski } 413*b1cdbd2cSJim Jagielski 414*b1cdbd2cSJim Jagielski /** 415*b1cdbd2cSJim Jagielski * test Allow time Greater than and equal to in Validity. 416*b1cdbd2cSJim Jagielski */ 417*b1cdbd2cSJim Jagielski @Test testAllowTimeGreaterThan()418*b1cdbd2cSJim Jagielski public void testAllowTimeGreaterThan() { 419*b1cdbd2cSJim Jagielski 420*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 421*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(4); // "Time" 422*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(4); // "greater than or equal to" 423*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("8:00"); 424*b1cdbd2cSJim Jagielski 425*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 426*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 427*b1cdbd2cSJim Jagielski scValidityErrorAlertActionList.select(1); // "Warning" 428*b1cdbd2cSJim Jagielski 429*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("warning to enter"); 430*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 431*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 432*b1cdbd2cSJim Jagielski 433*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 434*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 435*b1cdbd2cSJim Jagielski typeKeys("7:30"); 436*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 437*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 438*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 439*b1cdbd2cSJim Jagielski assertEquals("07:30:00 AM", SCTool.getCellText("A1")); 440*b1cdbd2cSJim Jagielski 441*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 442*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 443*b1cdbd2cSJim Jagielski typeKeys("6:00"); 444*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 445*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 446*b1cdbd2cSJim Jagielski activeMsgBox.cancel(); 447*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A2")); 448*b1cdbd2cSJim Jagielski 449*b1cdbd2cSJim Jagielski SCTool.selectRange("A3"); 450*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 451*b1cdbd2cSJim Jagielski typeKeys("8:00"); 452*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 453*b1cdbd2cSJim Jagielski assertEquals("08:00:00 AM", SCTool.getCellText("A3")); 454*b1cdbd2cSJim Jagielski } 455*b1cdbd2cSJim Jagielski 456*b1cdbd2cSJim Jagielski /** 457*b1cdbd2cSJim Jagielski * test Allow whole number, less than or equal to in Validity. 458*b1cdbd2cSJim Jagielski */ 459*b1cdbd2cSJim Jagielski @Test testAllowWholeNumLessThan()460*b1cdbd2cSJim Jagielski public void testAllowWholeNumLessThan() { 461*b1cdbd2cSJim Jagielski 462*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 463*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(1); // "Whole Numbers" 464*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(3); // "less than or equal" 465*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("100"); 466*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 467*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 468*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 469*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value"); 470*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 471*b1cdbd2cSJim Jagielski 472*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 473*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 474*b1cdbd2cSJim Jagielski typeKeys("99"); 475*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 476*b1cdbd2cSJim Jagielski assertEquals("99", SCTool.getCellText("A1")); 477*b1cdbd2cSJim Jagielski 478*b1cdbd2cSJim Jagielski SCTool.selectRange("A2"); 479*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 480*b1cdbd2cSJim Jagielski typeKeys("100"); 481*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 482*b1cdbd2cSJim Jagielski assertEquals("100", SCTool.getCellText("A2")); 483*b1cdbd2cSJim Jagielski 484*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 485*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 486*b1cdbd2cSJim Jagielski typeKeys("101"); 487*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 488*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 489*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 490*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B1")); 491*b1cdbd2cSJim Jagielski 492*b1cdbd2cSJim Jagielski SCTool.selectRange("B2"); 493*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 494*b1cdbd2cSJim Jagielski typeKeys("45.5"); 495*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 496*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 497*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 498*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("B2")); 499*b1cdbd2cSJim Jagielski 500*b1cdbd2cSJim Jagielski SCTool.selectRange("C1"); 501*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 502*b1cdbd2cSJim Jagielski typeKeys("test"); 503*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 504*b1cdbd2cSJim Jagielski assertEquals("Invalid value", activeMsgBox.getMessage()); 505*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 506*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("C1")); 507*b1cdbd2cSJim Jagielski } 508*b1cdbd2cSJim Jagielski 509*b1cdbd2cSJim Jagielski /** 510*b1cdbd2cSJim Jagielski * test default message of Error Alert in Validity. 511*b1cdbd2cSJim Jagielski */ 512*b1cdbd2cSJim Jagielski @Test testDefaultErrorAlertMessage()513*b1cdbd2cSJim Jagielski public void testDefaultErrorAlertMessage() { 514*b1cdbd2cSJim Jagielski 515*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 516*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(2); // "Decimal" 517*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(0); // "equal" 518*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("1"); 519*b1cdbd2cSJim Jagielski 520*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 521*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 522*b1cdbd2cSJim Jagielski scValidityErrorAlertActionList.select(0); // "Stop" 523*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 524*b1cdbd2cSJim Jagielski 525*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 526*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 527*b1cdbd2cSJim Jagielski typeKeys("13"); 528*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 529*b1cdbd2cSJim Jagielski assertEquals("OpenOffice Calc", activeMsgBox.getCaption()); 530*b1cdbd2cSJim Jagielski // assertEquals("Invalid value.",ActiveMsgBox.getMessage()); // Can not 531*b1cdbd2cSJim Jagielski // verify in multi-language 532*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 533*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A1")); 534*b1cdbd2cSJim Jagielski } 535*b1cdbd2cSJim Jagielski 536*b1cdbd2cSJim Jagielski /** 537*b1cdbd2cSJim Jagielski * test uncheck Error Alert in Validity. 538*b1cdbd2cSJim Jagielski */ 539*b1cdbd2cSJim Jagielski @Test testUncheckErrorAlert()540*b1cdbd2cSJim Jagielski public void testUncheckErrorAlert() { 541*b1cdbd2cSJim Jagielski 542*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 543*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(2); // "Decimal" 544*b1cdbd2cSJim Jagielski scValidityDecimalCompareOperator.select(0); // "equal" 545*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("1"); 546*b1cdbd2cSJim Jagielski 547*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 548*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.uncheck(); 549*b1cdbd2cSJim Jagielski scValidityErrorAlertActionList.select(0); // "Stop" 550*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 551*b1cdbd2cSJim Jagielski 552*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 553*b1cdbd2cSJim Jagielski typeKeys("13"); 554*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 555*b1cdbd2cSJim Jagielski assertEquals("13", SCTool.getCellText("A1")); 556*b1cdbd2cSJim Jagielski } 557*b1cdbd2cSJim Jagielski 558*b1cdbd2cSJim Jagielski /** 559*b1cdbd2cSJim Jagielski * test Cell range source picker in Validity. Input from Edit Box. 560*b1cdbd2cSJim Jagielski */ 561*b1cdbd2cSJim Jagielski @Test testValidityCellRangeSourcePicker()562*b1cdbd2cSJim Jagielski public void testValidityCellRangeSourcePicker() { 563*b1cdbd2cSJim Jagielski 564*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 565*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(5); // "Cell range" 566*b1cdbd2cSJim Jagielski scValiditySourcePicker.click(); 567*b1cdbd2cSJim Jagielski assertEquals(false, scValidityCriteriaAllowList.exists()); 568*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("$E$2:$G$5"); 569*b1cdbd2cSJim Jagielski scValiditySourcePicker.click(); 570*b1cdbd2cSJim Jagielski assertEquals(true, scValidityCriteriaAllowList.exists()); 571*b1cdbd2cSJim Jagielski 572*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.select(); 573*b1cdbd2cSJim Jagielski scValidityShowErrorMessage.check(); 574*b1cdbd2cSJim Jagielski scValidityErrorAlertActionList.select(0); // "Stop" 575*b1cdbd2cSJim Jagielski scValidityErrorMessageTitle.setText("Stop to enter"); 576*b1cdbd2cSJim Jagielski scValidityErrorMessage.setText("Invalid value."); 577*b1cdbd2cSJim Jagielski scValidityErrorAlertTabPage.ok(); 578*b1cdbd2cSJim Jagielski 579*b1cdbd2cSJim Jagielski // calc.focus(); 580*b1cdbd2cSJim Jagielski SCTool.selectRange("E2"); 581*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 582*b1cdbd2cSJim Jagielski typeKeys("test"); 583*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 584*b1cdbd2cSJim Jagielski 585*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 586*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 587*b1cdbd2cSJim Jagielski typeKeys("test32"); 588*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 589*b1cdbd2cSJim Jagielski assertEquals("Invalid value.", activeMsgBox.getMessage()); 590*b1cdbd2cSJim Jagielski activeMsgBox.ok(); 591*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("A1")); 592*b1cdbd2cSJim Jagielski 593*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 594*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 595*b1cdbd2cSJim Jagielski typeKeys("test"); 596*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 597*b1cdbd2cSJim Jagielski assertEquals("test", SCTool.getCellText("B1")); 598*b1cdbd2cSJim Jagielski } 599*b1cdbd2cSJim Jagielski 600*b1cdbd2cSJim Jagielski /** 601*b1cdbd2cSJim Jagielski * test Allow Blank cell Checkbox in Validity. 602*b1cdbd2cSJim Jagielski */ 603*b1cdbd2cSJim Jagielski @Test testAllowBlankCells()604*b1cdbd2cSJim Jagielski public void testAllowBlankCells() { 605*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 606*b1cdbd2cSJim Jagielski scValidityCriteriaAllowList.select(5); // "Cell range" 607*b1cdbd2cSJim Jagielski scValiditySourceInput.setText("$E$1:$E$5"); 608*b1cdbd2cSJim Jagielski scValidityAllowBlankCells.check(); 609*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.ok(); 610*b1cdbd2cSJim Jagielski 611*b1cdbd2cSJim Jagielski SCTool.selectRange("E1"); 612*b1cdbd2cSJim Jagielski typeKeys("A<enter>A<enter>A<enter>A<enter>A<enter>"); 613*b1cdbd2cSJim Jagielski 614*b1cdbd2cSJim Jagielski SCTool.selectRange("A1"); 615*b1cdbd2cSJim Jagielski typeKeys("A<enter>"); 616*b1cdbd2cSJim Jagielski SCTool.selectRange("D1"); 617*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 618*b1cdbd2cSJim Jagielski typeKeys("<backspace><enter>"); 619*b1cdbd2cSJim Jagielski assertEquals("", SCTool.getCellText("D1")); 620*b1cdbd2cSJim Jagielski 621*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 622*b1cdbd2cSJim Jagielski app.dispatch(".uno:Validation"); 623*b1cdbd2cSJim Jagielski scValidityCriteriaTabpage.select(); 624*b1cdbd2cSJim Jagielski scValidityAllowBlankCells.uncheck(); 625*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 626*b1cdbd2cSJim Jagielski 627*b1cdbd2cSJim Jagielski SCTool.selectRange("B1"); 628*b1cdbd2cSJim Jagielski scInputBarInput.activate(); 629*b1cdbd2cSJim Jagielski typeKeys("<backspace><enter>"); 630*b1cdbd2cSJim Jagielski typeKeys("<enter>"); 631*b1cdbd2cSJim Jagielski } 632*b1cdbd2cSJim Jagielski } 633