From 6228873cf9d6471463d2413e7dfd7447f759baf2 Mon Sep 17 00:00:00 2001 From: "christophe.boulain" <> Date: Wed, 3 Dec 2008 14:22:03 +0000 Subject: Merge from trunk --- .../protected/pages/ActiveDatePicker.page | 17 ++ .../protected/pages/ActiveDatePicker.php | 42 ++++ .../pages/ActiveRatingListAllowInputTest.page | 14 ++ .../pages/ActiveRatingListAllowInputTest.php | 27 +++ .../pages/ActiveRatingListAutoPostBackTest.page | 16 ++ .../pages/ActiveRatingListAutoPostBackTest.php | 27 +++ .../pages/ActiveRatingListCheckBoxesTest.page | 12 + .../pages/ActiveRatingListCheckBoxesTest.php | 23 ++ .../pages/ActiveRatingListEnabledTest.page | 17 ++ .../pages/ActiveRatingListEnabledTest.php | 37 +++ .../pages/ActiveRatingListHoverCaptionTest.page | 14 ++ .../pages/ActiveRatingListHoverCaptionTest.php | 27 +++ .../pages/ActiveRatingListRatingTest.page | 17 ++ .../protected/pages/ActiveRatingListRatingTest.php | 32 +++ .../pages/ActiveRatingListReadOnlyTest.page | 17 ++ .../pages/ActiveRatingListReadOnlyTest.php | 38 ++++ .../pages/ActiveRatingListSelectedIndexTest.page | 17 ++ .../pages/ActiveRatingListSelectedIndexTest.php | 32 +++ .../protected/pages/RatingList.page | 13 +- .../tests/ActiveDatePickerTestCase.php | 97 ++++++++ .../ActiveRatingListTestCase.php | 253 +++++++++++++++++++++ .../tickets/protected/application.xml | 3 +- .../tickets/protected/pages/Ticket284Component.php | 11 +- .../tickets/protected/pages/Ticket900.page | 45 ++++ .../tickets/protected/pages/Ticket900.php | 58 +++++ .../tickets/protected/pages/Ticket922.page | 12 + .../tickets/protected/pages/Ticket922.php | 13 ++ .../tickets/protected/pages/Ticket925.page | 11 + .../tickets/protected/pages/Ticket925.php | 76 +++++++ .../tickets/tests/Ticket595TestCase.php | 4 +- .../tickets/tests/Ticket900TestCase.php | 19 ++ .../tickets/tests/Ticket922TestCase.php | 18 ++ 32 files changed, 1043 insertions(+), 16 deletions(-) create mode 100755 tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.page create mode 100755 tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.php create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.page create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.php create mode 100755 tests/FunctionalTests/active-controls/tests/ActiveDatePickerTestCase.php create mode 100644 tests/FunctionalTests/active-controlstests/ActiveRatingListTestCase.php create mode 100644 tests/FunctionalTests/tickets/protected/pages/Ticket900.page create mode 100644 tests/FunctionalTests/tickets/protected/pages/Ticket900.php create mode 100644 tests/FunctionalTests/tickets/protected/pages/Ticket922.page create mode 100644 tests/FunctionalTests/tickets/protected/pages/Ticket922.php create mode 100755 tests/FunctionalTests/tickets/protected/pages/Ticket925.page create mode 100755 tests/FunctionalTests/tickets/protected/pages/Ticket925.php create mode 100644 tests/FunctionalTests/tickets/tests/Ticket900TestCase.php create mode 100644 tests/FunctionalTests/tickets/tests/Ticket922TestCase.php (limited to 'tests/FunctionalTests') diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.page new file mode 100755 index 00000000..ed35293e --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.page @@ -0,0 +1,17 @@ + + + + +

TActiveDatePicker test

+

+ +
+ + + + +

+ +
+ + \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.php new file mode 100755 index 00000000..6d78a664 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveDatePicker.php @@ -0,0 +1,42 @@ +IsPostBack) + $this->datepicker->setTimeStamp(time()); + } + + public function testDatePicker($sender, $param){ + $this->status->Text = $this->datepicker->getText(); + } + + public function today ($sender, $param) + { + $this->datepicker->setTimestamp(time()); + } + + public function increase ($sender, $param) + { + $this->datepicker->setTimestamp(strtotime('+1 day', $this->datepicker->getTimestamp())); + } + public function decrease ($sender, $param) + { + $this->datepicker->setTimestamp(strtotime('-1 day', $this->datepicker->getTimestamp())); + } + + public function toggleMode ($sender, $param) + { + if ($this->datepicker->getInputMode()==TDatePickerInputMode::DropDownList) + $this->datepicker->setInputMode(TDatePickerInputMode::TextBox); + else + $this->datepicker->setInputMode(TDatePickerInputMode::DropDownList); + } + + } + + +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.page new file mode 100644 index 00000000..35fcadc7 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.page @@ -0,0 +1,14 @@ + + +

TActiveRatingList AllowInput Test Case

+ + + + + + + + + +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.php new file mode 100644 index 00000000..c825f3f8 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAllowInputTest.php @@ -0,0 +1,27 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListAllowInputTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText($sender->getRating().' : '.$sender->getSelectedValue()); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.page new file mode 100644 index 00000000..84ce4ef3 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.page @@ -0,0 +1,16 @@ + + +

TActiveRatingList AutoPostBack Test Case

+ + + + + + + + + +
+ +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.php new file mode 100644 index 00000000..4b087b76 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListAutoPostBackTest.php @@ -0,0 +1,27 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListAutoPostBackTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText($sender->getRating().' : '.$sender->getSelectedValue()); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.page new file mode 100644 index 00000000..36f4404d --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.page @@ -0,0 +1,12 @@ + + +

TActiveRatingList Check Boxes Test Case

+ + + + + + + + +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.php new file mode 100644 index 00000000..5c6dfa70 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListCheckBoxesTest.php @@ -0,0 +1,23 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListCheckBoxesTest extends TPage{ } +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.page new file mode 100644 index 00000000..5f732e0d --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.page @@ -0,0 +1,17 @@ + + +

TActiveRatingList Enabled Test Case

+ + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.php new file mode 100644 index 00000000..0cac7418 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListEnabledTest.php @@ -0,0 +1,37 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListEnabledTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText($sender->getRating().' : '.$sender->getSelectedValue()); + } + + public function enable($sender, $param){ + $this->RatingList->setEnabled(true); + $this->Status->setText('Enabled=true'); + } + + public function disable($sender, $param){ + $this->RatingList->setEnabled(false); + $this->Status->setText('Enabled=false'); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.page new file mode 100644 index 00000000..01e47a34 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.page @@ -0,0 +1,14 @@ + + +

TActiveRatingList Hover Caption Test Case

+ + + + + + + + + +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.php new file mode 100644 index 00000000..06d82d39 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListHoverCaptionTest.php @@ -0,0 +1,27 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListHoverCaptionTest extends TPage{ + public function ratingChanged($sender, $param){ + $sender->setCaption($sender->getRating().' : '.$sender->getSelectedValue()); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.page new file mode 100644 index 00000000..942a5b45 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.page @@ -0,0 +1,17 @@ + + +

TActiveRatingList Rating Test Case

+ + + + + + + + + +
+ +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.php new file mode 100644 index 00000000..fe5c8404 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListRatingTest.php @@ -0,0 +1,32 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListRatingTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText('Rating: '.$sender->getRating()); + } + + public function setRating($sender, $param){ + $this->RatingList->setRating(3); + $this->ratingChanged($this->RatingList, null); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.page new file mode 100644 index 00000000..dad3fd6e --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.page @@ -0,0 +1,17 @@ + + +

TActiveRatingList ReadOnly Test Case

+ + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.php new file mode 100644 index 00000000..070fd13f --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListReadOnlyTest.php @@ -0,0 +1,38 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListReadOnlyTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText($sender->getRating().' : '.$sender->getSelectedValue()); + } + + public function readOnly($sender, $param){ + $this->RatingList->setReadOnly(true); + $this->Status->setText('ReadOnly=true'); + } + + public function writable($sender, $param){ + $this->RatingList->setReadOnly(false); + $this->Status->setText('ReadOnly=false'); + } + +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.page new file mode 100644 index 00000000..6fb52822 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.page @@ -0,0 +1,17 @@ + + +

TActiveRatingList SelectedIndex Test Case

+ + + + + + + + + +
+ +
\ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.php new file mode 100644 index 00000000..4dbc6949 --- /dev/null +++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveRatingListSelectedIndexTest.php @@ -0,0 +1,32 @@ + + * @version Creation Date: Oct 13, 2008 + */ + +/** + * TRatingListTest.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 13, 2008 + * + * Modifications: + */ +class ActiveRatingListSelectedIndexTest extends TPage{ + public function ratingChanged($sender, $param){ + $this->Status->setText('SelectedIndex: '.$sender->getSelectedIndex()); + } + + public function setSelectedIndex($sender, $param){ + $this->RatingList->setSelectedIndex(5); + $this->ratingChanged($this->RatingList, null); + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controls/protected/pages/RatingList.page b/tests/FunctionalTests/active-controls/protected/pages/RatingList.page index f9be4aee..ba9c2e5d 100644 --- a/tests/FunctionalTests/active-controls/protected/pages/RatingList.page +++ b/tests/FunctionalTests/active-controls/protected/pages/RatingList.page @@ -3,22 +3,11 @@ diff --git a/tests/FunctionalTests/active-controls/tests/ActiveDatePickerTestCase.php b/tests/FunctionalTests/active-controls/tests/ActiveDatePickerTestCase.php new file mode 100755 index 00000000..b8e9594e --- /dev/null +++ b/tests/FunctionalTests/active-controls/tests/ActiveDatePickerTestCase.php @@ -0,0 +1,97 @@ +open("active-controls/index.php?page=ActiveDatePicker"); + $this->verifyTextPresent("TActiveDatePicker test"); + $this->verifyText("status", ""); + $this->verifyValue("datepicker", date('m-d-Y')); + $this->click("increaseButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y', strtotime('+ 1 day'))); + $this->verifyText("status", date('m-d-Y', strtotime('+ 1 day'))); + $this->click("increaseButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y', strtotime('+ 2 day'))); + $this->verifyText("status", date('m-d-Y', strtotime('+ 2 day'))); + $this->click("todayButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y')); + $this->verifyText("status", date('m-d-Y')); + $this->click("decreaseButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y', strtotime('- 1 day'))); + $this->verifyText("status", date('m-d-Y', strtotime('- 1 day'))); + $this->click("datepicker"); + $this->pause(800); + $this->click("css=input.todayButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y')); + $this->verifyText("status", date('m-d-Y')); + $this->click("css=input.nextMonthButton"); + $this->pause(800); + $this->verifyValue("datepicker", date('m-d-Y', strtotime('+ 1 month'))); + $this->verifyText("status", date('m-d-Y', strtotime('+1 month'))); + + $this->click('toggleButton'); + $this->pause(1000); + + $this->click("todayButton"); + $this->pause(800); + $this->verifySelected("datepicker_month", date('m')); + $this->verifyText("status", date('m-d-Y')); + + $this->click("increaseButton"); + $this->pause(800); + $dateToCheck=strtotime('+ 1 day'); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + + $this->click("increaseButton"); + $this->pause(800); + $dateToCheck=strtotime('+ 2 day'); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + + $this->click("todayButton"); + $this->pause(800); + $dateToCheck=time(); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + + $this->click("decreaseButton"); + $this->pause(800); + $dateToCheck=strtotime('- 1 day'); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + + $this->click("datepickerbutton"); + $this->pause(800); + $this->click("css=input.todayButton"); + $this->pause(800); + $dateToCheck=time(); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + + $this->click("css=input.nextMonthButton"); + $this->pause(800); + $dateToCheck=strtotime('+ 1 month'); + $this->verifySelected("datepicker_month", date('m', $dateToCheck)); + $this->verifySelected("datepicker_day", date('d', $dateToCheck)); + $this->verifySelected("datepicker_year", date('Y', $dateToCheck)); + $this->verifyText("status", date('m-d-Y', $dateToCheck)); + } +} + +?> \ No newline at end of file diff --git a/tests/FunctionalTests/active-controlstests/ActiveRatingListTestCase.php b/tests/FunctionalTests/active-controlstests/ActiveRatingListTestCase.php new file mode 100644 index 00000000..c6dc50c2 --- /dev/null +++ b/tests/FunctionalTests/active-controlstests/ActiveRatingListTestCase.php @@ -0,0 +1,253 @@ + + * @version Creation Date: Oct 22, 2008 + */ + +/** + * ActiveRatingListTestCase.php class + * + * + * + * Properties + * - + * + * @author Bradley Booms + * @version Modified Date: Oct 22, 2008 + * + * Modifications: + */ +class ActiveRatingListTestCase extends SeleniumTestCase +{ + function testCheckBoxes() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListCheckBoxesTest"); + $this->verifyTextPresent("TActiveRatingList Check Boxes Test Case"); + $this->assertCheckBoxes("RatingList", array(2), 6); + + // Change the list and make sure the radio buttons get updated properly. + $this->clickTD("RatingList_c4"); + $this->pause(800); + $this->assertCheckBoxes("RatingList", array(4), 6); + + $this->clickTD("RatingList_c2"); + $this->pause(800); + $this->assertCheckBoxes("RatingList", array(2), 6); + } + + function testRating() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListRatingTest"); + $this->verifyTextPresent("TActiveRatingList Rating Test Case"); + + // Check the list, make sure it starts out with 5 stars. + $this->assertText("Status", "Rating: 5"); + + // Click on 1 star and make sure the Rating property updates. + $this->clickTD("RatingList_c0"); + $this->pause(800); + $this->assertText("Status", "Rating: 1"); + + // Then set Rating to three on the server side and make sure it's correct. + $this->click("SetRating"); + $this->pause(800); + $this->assertText("Status", "Rating: 3"); + } + + function testSelectedIndex() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListSelectedIndexTest"); + $this->verifyTextPresent("TActiveRatingList SelectedIndex Test Case"); + $this->assertText("Status", " SelectedIndex: 1"); + + // Click on 5 stars and make sure the SelectedIndex property updates. + $this->clickTD("RatingList_c4"); + $this->pause(800); + $this->assertText("Status", " SelectedIndex: 4"); + + // Then set SelectedIndex to 5 on the server side and make sure it's correct. + $this->click("SetSelectedIndex"); + $this->pause(800); + $this->assertText("Status", " SelectedIndex: 5"); + } + + function testAutoPostBack() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListAutoPostBackTest"); + $this->verifyTextPresent("TActiveRatingList AutoPostBack Test Case"); + $this->assertText("Status", "AutoPostback=false"); + + // Make sure that it doesn't auto post when clicked. + $this->clickTD("RatingList_c3"); + $this->pause(800); + $this->assertText("Status", "AutoPostback=false"); + + // Then submit with an active button and make sure it updates. + $this->click("Submit"); + $this->pause(800); + $this->assertText("Status", "4 : Good"); + } + + function testAllowInput() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListAllowInputTest"); + $this->verifyTextPresent("TActiveRatingList AllowInput Test Case"); + $this->assertText("Status", "AllowInput=false"); + $this->assertCheckBoxes("RatingList", array(3), 6); + + // Make sure that clicking doesn't change anything. + $this->clickTD("RatingList_c5"); + $this->pause(800); + $this->assertText("Status", "AllowInput=false"); + $this->assertCheckBoxes("RatingList", array(3), 6); + } + + function testReadOnly() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListReadOnlyTest"); + $this->verifyTextPresent("TActiveRatingList ReadOnly Test Case"); + $this->assertText("Status", "ReadOnly=true"); + $this->assertCheckBoxes("RatingList", array(0), 6); + + $this->clickTD("RatingList_c4"); + $this->pause(800); + $this->assertText("Status", "ReadOnly=true"); + $this->assertCheckBoxes("RatingList", array(0), 6); + + // Then set ReadOnly to false, and make sure it works. + $this->click("Writable"); + $this->pause(800); + $this->assertText("Status", "ReadOnly=false"); + $this->assertCheckBoxes("RatingList", array(0), 6); + + + $this->clickTD("RatingList_c1"); + $this->pause(800); + $this->assertText("Status", "2 : Fair"); + $this->assertCheckBoxes("RatingList", array(1), 6); + + // Then set ReadOnly to true, and make sure it doesn't work anymore. + $this->click("ReadOnly"); + $this->pause(800); + $this->assertText("Status", "ReadOnly=true"); + $this->assertCheckBoxes("RatingList", array(1), 6); + + + $this->clickTD("RatingList_c2"); + $this->pause(800); + $this->assertText("Status", "ReadOnly=true"); + $this->assertCheckBoxes("RatingList", array(1), 6); + } + + function testEnabled() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListEnabledTest"); + $this->verifyTextPresent("TActiveRatingList Enabled Test Case"); + $this->assertText("Status", "Enabled=false"); + $this->assertCheckBoxes("RatingList", array(5), 6); + + $this->clickTD("RatingList_c4"); + $this->pause(800); + $this->assertText("Status", "Enabled=false"); + $this->assertCheckBoxes("RatingList", array(5), 6); + + // Then set Enable to true, and make sure it works. + $this->click("Enable"); + $this->pause(800); + $this->assertText("Status", "Enabled=true"); + $this->assertCheckBoxes("RatingList", array(5), 6); + + + $this->clickTD("RatingList_c3"); + $this->pause(800); + $this->assertText("Status", "4 : Good"); + $this->assertCheckBoxes("RatingList", array(3), 6); + + // Then set Enable to false, and make sure it doesn't work anymore. + $this->click("Disable"); + $this->pause(800); + $this->assertText("Status", "Enabled=false"); + $this->assertCheckBoxes("RatingList", array(3), 6); + + + $this->clickTD("RatingList_c5"); + $this->pause(800); + $this->assertText("Status", "Enabled=false"); + $this->assertCheckBoxes("RatingList", array(3), 6); + } + + function testHoverCaption() + { + // Verify we're on the right page. + $this->open("active-controls/index.php?page=ActiveRatingListHoverCaptionTest"); + $this->verifyTextPresent("TActiveRatingList Hover Caption Test Case"); + $this->assertText("Status", "CaptionID='Status'"); + $this->assertElementPresent("//input[@id='RatingList_c0']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c1']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c2']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating_half')]"); + $this->assertElementPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c4']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c5']/../..[contains(@class, 'rating')]"); + + $this->mouseOver("//input[@id='RatingList_c4']/../../"); + $this->assertText("Status", "Excellent"); + $this->assertElementPresent("//input[@id='RatingList_c0']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementPresent("//input[@id='RatingList_c1']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementPresent("//input[@id='RatingList_c2']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementPresent("//input[@id='RatingList_c4']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementNotPresent("//input[@id='RatingList_c5']/../..[contains(@class, 'rating_hover')]"); + $this->assertElementPresent("//input[@id='RatingList_c5']/../..[contains(@class, 'rating')]"); + + $this->mouseOut("//input[@id='RatingList_c4']/../../"); + $this->assertText("Status", "CaptionID='Status'"); + $this->assertElementPresent("//input[@id='RatingList_c0']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c1']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c2']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementNotPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c4']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c5']/../..[contains(@class, 'rating')]"); + + + $this->mouseOver("//input[@id='RatingList_c1']/../../"); + $this->assertText("Status", "Fair"); + + $this->click("//input[@id='RatingList_c1']/../../"); + $this->pause(800); + $this->assertText("Status", "2 : Fair"); + $this->assertElementPresent("//input[@id='RatingList_c0']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c1']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementNotPresent("//input[@id='RatingList_c2']/../..[contains(@class, 'rating_selected')]"); + $this->assertElementPresent("//input[@id='RatingList_c2']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c3']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c4']/../..[contains(@class, 'rating')]"); + $this->assertElementPresent("//input[@id='RatingList_c5']/../..[contains(@class, 'rating')]"); + } + + function clickTD($clientID){ + $this->click("//input[@id='{$clientID}']/../.."); + } + + function assertCheckBoxes($clientID, $checks, $total = 5) + { + for($i = 0; $i < $total; $i++) + { + if(in_array($i, $checks)) + $this->assertChecked("{$clientID}_c{$i}"); + else + $this->assertNotChecked("{$clientID}_c{$i}"); + } + } +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/application.xml b/tests/FunctionalTests/tickets/protected/application.xml index 29273a2f..113b8455 100644 --- a/tests/FunctionalTests/tickets/protected/application.xml +++ b/tests/FunctionalTests/tickets/protected/application.xml @@ -1,8 +1,9 @@ - + + diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket284Component.php b/tests/FunctionalTests/tickets/protected/pages/Ticket284Component.php index 892bdc87..da6ad153 100644 --- a/tests/FunctionalTests/tickets/protected/pages/Ticket284Component.php +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket284Component.php @@ -2,6 +2,7 @@ class Ticket284Component extends TTemplateControl implements IValidatable { + private $_isValid; public function onPreRender($param) { if (!$this->ShowHours && $this->ShowMinutes) @@ -90,5 +91,13 @@ class Ticket284Component extends TTemplateControl implements IValidatable return $this->TimeStamp; } } + public function getIsValid() + { + return $this->_isValid; + } + public function setIsValid($value) + { + $this->_isValid=TPropertyValue::ensureBoolean($value); + } } -?> \ No newline at end of file +?> diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket900.page b/tests/FunctionalTests/tickets/protected/pages/Ticket900.page new file mode 100644 index 00000000..41c0fbc2 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket900.page @@ -0,0 +1,45 @@ + + +Current Command:
+ + + + + + Parent->Data['title']%>/> + + + Parent->Data['title']%>/> + + + + + + +
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket900.php b/tests/FunctionalTests/tickets/protected/pages/Ticket900.php new file mode 100644 index 00000000..21e87f67 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket900.php @@ -0,0 +1,58 @@ +IsPostBack) + { + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + } + + + protected function getData() + { + return array( + array( 'title' => 'Title A'), + array( 'title' => 'Title B'), + array( 'title' => 'Title C') + ); + } + + + public function editItem($sender,$param) + { + $this->CommandName->Text='edit'; + $this->DataGrid->EditItemIndex=$param->Item->ItemIndex; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function saveItem($sender,$param) + { + $this->CommandName->Text='save'; + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function cancelItem($sender,$param) + { + $this->CommandName->Text='cancel'; + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function deleteItem($sender,$param) + { + $this->CommandName->Text='delete'; + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + +} +?> diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket922.page b/tests/FunctionalTests/tickets/protected/pages/Ticket922.page new file mode 100644 index 00000000..87932680 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket922.page @@ -0,0 +1,12 @@ + + +

Problem with TUrlMapping and urlencoding

+ +Enter a string with spaces that will be used as URL parameter + + + +
+Decoded String: + +
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket922.php b/tests/FunctionalTests/tickets/protected/pages/Ticket922.php new file mode 100644 index 00000000..52d4e411 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket922.php @@ -0,0 +1,13 @@ +Text->Text; + $url= $this->getService()->constructUrl('Ticket922', array('text'=>$text)); + $this->getResponse()->redirect($url); + } + + public function onLoad($param) { + if ($this->Request->contains('text')) + $this->Result->setText($this->Request->itemAt('text')); + } +} diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket925.page b/tests/FunctionalTests/tickets/protected/pages/Ticket925.page new file mode 100755 index 00000000..cdb1e0fe --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket925.page @@ -0,0 +1,11 @@ + + + + Timer 1 :
+ Timer 2 :
+ + + + + +
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket925.php b/tests/FunctionalTests/tickets/protected/pages/Ticket925.php new file mode 100755 index 00000000..0284bd66 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket925.php @@ -0,0 +1,76 @@ +getViewState('timer1', 0); + } + + public function getTimer2Value() + { + return $this->getViewState('timer2', 0); + } + + public function setTimer1Value($value) + { + $this->setViewState('timer1', $value, 0); + } + + public function setTimer2Value($value) + { + $this->setViewState('timer2', $value, 0); + } + + public function startTimer1($sender, $param) + { + $this->timer1->startTimer(); + } + + public function stopTimer1($sender, $param) + { + $this->timer1->stopTimer(); + } + + public function startTimer2($sender, $param) + { + $this->timer2->startTimer(); + } + + public function stopTimer2($sender, $param) + { + $this->timer2->stopTimer(); + } + + public function changeIntervalTimer1($sender, $param) + { + $this->timer1->setInterval(1); + } + + public function timer1callback ($sender, $param) + { + $this->timer1result->Text .= ($this->Timer1Value+=$this->timer1->Interval).'... '; + if ($this->Timer1Value > 20) + { + $this->timer1Value=0; + $this->timer1result->Text=''; + $this->timer1->stopTimer(); + } + + } + + public function timer2callback ($sender, $param) + { + $this->timer2result->Text .= ($this->Timer2Value+=$this->timer2->Interval).'... '; + if ($this->Timer2Value > 20) + { + $this->timer2Value=0; + $this->timer2result->Text=''; + $this->timer2->stopTimer(); + } + } + +} +?> \ No newline at end of file diff --git a/tests/FunctionalTests/tickets/tests/Ticket595TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket595TestCase.php index e2487f25..4321bd67 100644 --- a/tests/FunctionalTests/tickets/tests/Ticket595TestCase.php +++ b/tests/FunctionalTests/tickets/tests/Ticket595TestCase.php @@ -18,7 +18,7 @@ class Ticket595TestCase extends SeleniumTestCase $this->type($base.'A', 'test@pradosoft.com'); $this->click($base.'ctl2'); $this->pause(800); - $this->assertAttribute($base.'A@class',''); + $this->assertAttribute($base.'A@class','null'); $this->click($base.'ctl5'); @@ -33,7 +33,7 @@ class Ticket595TestCase extends SeleniumTestCase $this->type($base.'B', 'test@pradosoft.com'); $this->click($base.'ctl5'); $this->pause(800); - $this->assertAttribute($base.'B@class',''); + $this->assertAttribute($base.'B@class','null'); } } ?> diff --git a/tests/FunctionalTests/tickets/tests/Ticket900TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket900TestCase.php new file mode 100644 index 00000000..b80e1187 --- /dev/null +++ b/tests/FunctionalTests/tickets/tests/Ticket900TestCase.php @@ -0,0 +1,19 @@ +open('tickets/index.php?page=Ticket900'); + $this->assertTitle("Verifying Ticket 900"); + $base = 'ctl0_Content_'; + + $this->clickAndWait('ctl0$Content$DataGrid$ctl1$ctl3'); + $this->type($base.'DataGrid_ctl1_TextBox', ''); + $this->click($base.'DataGrid_ctl1_ctl3'); + $this->clickAndWait('ctl0$Content$DataGrid$ctl1$ctl4'); + $this->assertText($base.'CommandName', 'cancel'); + } +} + +?> diff --git a/tests/FunctionalTests/tickets/tests/Ticket922TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket922TestCase.php new file mode 100644 index 00000000..8420c10d --- /dev/null +++ b/tests/FunctionalTests/tickets/tests/Ticket922TestCase.php @@ -0,0 +1,18 @@ +open('tickets/index.php?page=Ticket922'); + $this->assertTitle("Verifying Ticket 922"); + $base = 'ctl0_Content_'; + + $this->type($base.'Text', 'two words'); + $this->clickAndWait('ctl0$Content$ctl0'); + $this->assertText($base.'Result','two words'); + + } +} + +?> -- cgit v1.2.3