summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes3
-rw-r--r--framework/Web/UI/ActiveControls/TAutoComplete.php3
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.page28
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.php62
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket587TestCase.php26
5 files changed, 121 insertions, 1 deletions
diff --git a/.gitattributes b/.gitattributes
index e36a617b..bd7b1341 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2565,6 +2565,8 @@ tests/FunctionalTests/tickets/protected/pages/Ticket586.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket586.php -text
tests/FunctionalTests/tickets/protected/pages/Ticket587.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket587.php -text
+tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.page -text
+tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.php -text
tests/FunctionalTests/tickets/protected/pages/Ticket605.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket606.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket614.page -text
@@ -2606,6 +2608,7 @@ tests/FunctionalTests/tickets/tests/Ticket573TestCase.php -text
tests/FunctionalTests/tickets/tests/Ticket578TestCase.php -text
tests/FunctionalTests/tickets/tests/Ticket585TestCase.php -text
tests/FunctionalTests/tickets/tests/Ticket586TestCase.php -text
+tests/FunctionalTests/tickets/tests/Ticket587TestCase.php -text
tests/FunctionalTests/tickets/tests/Ticket72TestCase.php -text
tests/FunctionalTests/tickets/tests/Ticket93TestCase.php -text
tests/FunctionalTests/validators.php -text
diff --git a/framework/Web/UI/ActiveControls/TAutoComplete.php b/framework/Web/UI/ActiveControls/TAutoComplete.php
index aaa14920..3b457bbb 100644
--- a/framework/Web/UI/ActiveControls/TAutoComplete.php
+++ b/framework/Web/UI/ActiveControls/TAutoComplete.php
@@ -321,7 +321,8 @@ class TAutoComplete extends TActiveTextBox implements INamingContainer
*/
protected function getPostBackOptions()
{
- $this->getActiveControl()->getClientSide()->setEnablePageStateUpdate(false);
+ //disallow page state update ?
+ //$this->getActiveControl()->getClientSide()->setEnablePageStateUpdate(false);
$options = array();
if(strlen($string = $this->getSeparator()))
{
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.page b/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.page
new file mode 100644
index 00000000..cf7d2136
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.page
@@ -0,0 +1,28 @@
+<com:TContent ID="Content">
+
+<com:TActiveDropDownList ID="list1" AutoPostBack="true" OnSelectedIndexChanged="list1_changed">
+ <com:TListItem Value="value 1" Text="item 1" />
+ <com:TListItem Value="value 2" Text="item 2" />
+ <com:TListItem Value="value 3" Text="item 3" />
+ <com:TListItem Value="value 4" Text="item 4" />
+ </com:TActiveDropDownList>
+
+ <com:TActiveDropDownList ID="list2"
+ Enabled="false"
+ AutoPostBack="true" OnSelectedIndexChanged="list2_changed" />
+
+ <div style="margin:1em; padding:1em; border:1px solid #ccc; text-align:center;">
+ <com:TActiveLabel ID="label1" Text="Label 1" />
+ </div>
+ <div style="margin:1em; padding:0.5em; text-align:center; border:1px solid #ccc;">
+ <com:TActiveButton ID="button1" Text="Select Index 3" OnClick="select_index_3" />
+ <com:TActiveButton ID="button2" Text="Clear selection" OnClick="clear_selections" />
+ <com:TActiveButton ID="button3" Text="Select Value 'value 2'" OnClick="select_value_2" />
+ <com:TActiveButton ID="button4" Text="Select Item 3 And Sub Item 3" OnClick="select_index_3_plus" />
+
+ <com:TButton ID="button5" Text="Post Back" OnClick="do_postback"/>
+ </div>
+ <com:TActiveButton ID="button6" Text="Change list 2" OnClick="suggest"/>
+ <com:TAutoComplete ID="text1" OnSuggest="suggest" />
+
+</com:TContent> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.php b/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.php
new file mode 100644
index 00000000..7d24e5f6
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket587_reopened.php
@@ -0,0 +1,62 @@
+<?php
+
+Prado::using('System.Web.UI.ActiveControls.*');
+
+class Ticket587_reopened extends TPage
+{
+ function list1_changed($sender)
+ {
+ $this->label1->setText("Selection 1: ".$sender->getSelectedValue());
+ $this->addOptionsToList2($sender->getSelectedValue(),$sender->getSelectedIndex());
+ }
+
+ function suggest($sender, $param)
+ {
+ $this->list2->Items->clear();
+ for($i = 0; $i < 2; $i++)
+ $this->list2->Items[$i] = 'asd 3 - item '.($i+1);
+ }
+
+ function addOptionsToList2($parent,$index)
+ {
+ $this->list2->Items->clear();
+ for($i = 0; $i < 2+$index; $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");
+ }
+
+ function select_index_3_plus()
+ {
+ $this->list1->setSelectedValue("value 3");
+ $this->list1_changed($this->list1);
+ $this->list2->setSelectedValue("value 3 - item 3");
+ }
+
+ function do_postback()
+ {
+ $value = 'List 1: '.$this->list1->selectedValue. ', List 2: '. $this->list2->selectedValue;
+ $this->label1->Text = $value;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/tests/Ticket587TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket587TestCase.php
new file mode 100644
index 00000000..f02b6a42
--- /dev/null
+++ b/tests/FunctionalTests/tickets/tests/Ticket587TestCase.php
@@ -0,0 +1,26 @@
+<?php
+
+class Ticket587TestCase extends SeleniumTestCase
+{
+ function test()
+ {
+ $base = 'ctl0_Content_';
+ $this->open('tickets/index.php?page=Ticket587_reopened');
+ $this->assertTitle("Verifying Ticket 587_reopened");
+
+ $this->assertText($base."label1", "Label 1");
+ $this->select($base."list1", "item 3");
+ $this->pause(800);
+ $this->select($base."list2", "value 3 - item 4");
+ $this->pause(800);
+ $this->assertText($base."label1", "Selection 2: value 3 - item 4");
+
+ $this->keyPress($base.'text1', 't');
+ $this->pause(800);
+ $this->select($base."list2", "asd 3 - item 2");
+ $this->pause(800);
+ $this->assertText($base."label1", "Selection 2: asd 3 - item 2");
+ }
+}
+
+?> \ No newline at end of file