From a6be5564823be40670e0cad8dc758557dbd37549 Mon Sep 17 00:00:00 2001
From: wei <>
Date: Sat, 24 Jun 2006 05:46:22 +0000
Subject: Update active controls.
---
.../protected/pages/ActiveDropDownList.page | 26 ++++++++++
.../protected/pages/ActiveDropDownList.php | 39 +++++++++++++++
.../protected/pages/ActiveHyperLinkTest.page | 13 +++++
.../protected/pages/ActiveHyperLinkTest.php | 26 ++++++++++
.../protected/pages/TActiveCheckBoxListTest.page | 24 +++++++++
.../protected/pages/TActiveCheckBoxListTest.php | 37 ++++++++++++++
.../tests/ActiveCheckBoxListTestCase.php | 57 ++++++++++++++++++++++
.../tests/ActiveDropDownListTestCase.php | 41 ++++++++++++++++
.../tests/ActiveHyperLinkTestCase.php | 18 +++++++
.../selenium/prado-functional-test.js | 16 +++++-
10 files changed, 296 insertions(+), 1 deletion(-)
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.page
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.php
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.page
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.php
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.page
create mode 100644 tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.php
create mode 100644 tests/FunctionalTests/active-controls/tests/ActiveCheckBoxListTestCase.php
create mode 100644 tests/FunctionalTests/active-controls/tests/ActiveDropDownListTestCase.php
create mode 100644 tests/FunctionalTests/active-controls/tests/ActiveHyperLinkTestCase.php
(limited to 'tests/FunctionalTests')
diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.page
new file mode 100644
index 00000000..8b8962a8
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.page
@@ -0,0 +1,26 @@
+
+ Active Drop Down List Test Case
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.php
new file mode 100644
index 00000000..7060d84b
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveDropDownList.php
@@ -0,0 +1,39 @@
+label1->setText("Selection 1: ".$sender->getSelectedValue());
+ $this->addOptionsToList2($sender->getSelectedValue());
+ }
+
+ function addOptionsToList2($parent)
+ {
+ for($i = 0; $i < 5; $i++)
+ $this->list2->Items[$i] = $parent.' - item '.($i+1);
+ $this->list2->setEnabled(true);
+ }
+
+ function list2_changed($sender)
+ {
+ $this->label1->setText("Selection 2: ".$sender->getSelectedValue());
+ }
+
+ function select_index_3()
+ {
+ $this->list1->setSelectedIndex(3);
+ }
+
+ function clear_selections()
+ {
+ $this->list1->clearSelection();
+ }
+
+ function select_value_2()
+ {
+ $this->list1->setSelectedValue("value 2");
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.page b/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.page
new file mode 100644
index 00000000..59098052
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.page
@@ -0,0 +1,13 @@
+
+ Active HyperLink Test Case
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.php b/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.php
new file mode 100644
index 00000000..cd4880d2
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/ActiveHyperLinkTest.php
@@ -0,0 +1,26 @@
+link1->Text = "Pradosoft.com";
+ }
+
+ function change_image()
+ {
+ $this->link1->ImageUrl = "...";
+ }
+
+ function change_target()
+ {
+ $this->link1->Target = "_top";
+ }
+
+ function change_url()
+ {
+ $this->link1->NavigateUrl = "http://www.xlab6.com";
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.page b/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.page
new file mode 100644
index 00000000..b30ced69
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.page
@@ -0,0 +1,24 @@
+
+ TActiveCheckBoxList Test Case
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.php b/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.php
new file mode 100644
index 00000000..66bfe83d
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/protected/pages/TActiveCheckBoxListTest.php
@@ -0,0 +1,37 @@
+getSelectedValues();
+ $this->label1->setText("Selection: ".implode(', ', $values));
+ }
+
+ function select_index_123()
+ {
+ $this->list1->setSelectedIndices(array(1,2,3));
+ }
+
+ function select_index_4()
+ {
+ $this->list1->setSelectedIndex(4);
+ }
+
+ function clear_selections()
+ {
+ $this->list1->clearSelection();
+ }
+
+ function select_value_1()
+ {
+ $this->list1->setSelectedValue("value 1");
+ }
+
+ function select_values_25()
+ {
+ $this->list1->setSelectedValues(array('value 2', 'value 5'));
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/tests/ActiveCheckBoxListTestCase.php b/tests/FunctionalTests/active-controls/tests/ActiveCheckBoxListTestCase.php
new file mode 100644
index 00000000..af7ea1f0
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/tests/ActiveCheckBoxListTestCase.php
@@ -0,0 +1,57 @@
+open("active-controls/index.php?page=TActiveCheckBoxListTest");
+ $this->verifyTextPresent("TActiveCheckBoxList Test Case");
+
+ $this->assertText("label1", "Label 1");
+
+ $this->click("button1");
+ $this->pause(500);
+ $this->assertCheckBoxes(array(1,2,3));
+
+ $this->click("button2");
+ $this->pause(500);
+ $this->assertCheckBoxes(array());
+
+
+ $this->click("button3");
+ $this->pause(500);
+ $this->assertCheckBoxes(array(0));
+
+
+ $this->click("button4");
+ $this->pause(500);
+ $this->assertCheckBoxes(array(4));
+
+
+ $this->click("button5");
+ $this->pause(500);
+ $this->assertCheckBoxes(array(1,4));
+
+ $this->click("list1_c2");
+ $this->pause(500);
+ $this->assertText("label1", "Selection: value 2, value 3, value 5");
+
+ $this->click("list1_c2");
+ $this->pause(500);
+ $this->assertText("label1", "Selection: value 2, value 5");
+
+ }
+
+ function assertCheckBoxes($checks, $total = 5)
+ {
+ for($i = 0; $i < $total; $i++)
+ {
+ if(in_array($i, $checks))
+ $this->assertChecked("list1_c{$i}");
+ else
+ $this->assertNotChecked("list1_c{$i}");
+ }
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/tests/ActiveDropDownListTestCase.php b/tests/FunctionalTests/active-controls/tests/ActiveDropDownListTestCase.php
new file mode 100644
index 00000000..5806a3ec
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/tests/ActiveDropDownListTestCase.php
@@ -0,0 +1,41 @@
+open("active-controls/index.php?page=ActiveDropDownList");
+ $this->assertTextPresent('Active Drop Down List Test Case');
+
+ $this->assertText("label1", "Label 1");
+
+ $this->click("button1");
+ $this->pause(500);
+ $this->assertSelected("list1", "item 4");
+
+ $this->click("button2");
+ $this->pause(500);
+ $this->assertEmptySelection("list1");
+
+ $this->click("button3");
+ $this->pause(500);
+ $this->assertSelected("list1", "item 2");
+
+ // due to clearing selection and then updating the selection
+ // otherwise it should not fire the changed event (fired by js because of change to options).
+ $this->assertText("label1", "Selection 1: value 1");
+
+ $this->select("list2", "value 1 - item 4");
+ $this->pause(500);
+ $this->assertText("label1", "Selection 2: value 1 - item 4");
+
+ $this->select("list1", "item 3");
+ $this->pause(500);
+ $this->select("list2", "value 3 - item 5");
+ $this->pause(500);
+ $this->assertText("label1", "Selection 2: value 3 - item 5");
+
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/active-controls/tests/ActiveHyperLinkTestCase.php b/tests/FunctionalTests/active-controls/tests/ActiveHyperLinkTestCase.php
new file mode 100644
index 00000000..53198806
--- /dev/null
+++ b/tests/FunctionalTests/active-controls/tests/ActiveHyperLinkTestCase.php
@@ -0,0 +1,18 @@
+open("active-controls/index.php?page=ActiveHyperLinkTest");
+ $this->assertTextPresent("Active HyperLink Test Case");
+
+ $this->assertText("link1", "Link 1");
+
+ $this->click("button1");
+ $this->pause(500);
+ $this->assertText("link1", "Pradosoft.com");
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/selenium/prado-functional-test.js b/tests/FunctionalTests/selenium/prado-functional-test.js
index f9889a72..306f6a74 100644
--- a/tests/FunctionalTests/selenium/prado-functional-test.js
+++ b/tests/FunctionalTests/selenium/prado-functional-test.js
@@ -39,7 +39,21 @@ Selenium.prototype._isDisplayed = function(element) {
return true;
};
-
+Selenium.prototype.assertEmptySelection = function(selectLocator, optionLocator)
+{
+ /**
+ * Verifies that the selected option of a drop-down satisfies the optionSpecifier.
+ *
+ *
See the select command for more information about option locators.
+ *
+ * @param selectLocator an element locator identifying a drop-down menu
+ * @param optionLocator an option locator, typically just an option label (e.g. "John Smith")
+ */
+ var element = this.page().findElement(selectLocator);
+ var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
+ return element.selectedIndex == -1;
+}
+
function runNextTest() {
if (!runAllTests)
return;
--
cgit v1.2.3