summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorwei <>2006-08-05 03:42:04 +0000
committerwei <>2006-08-05 03:42:04 +0000
commitc927f9343001b456c1fa25dc541c3f1b005510f8 (patch)
tree77471b0dbb0327e1c601ec4ffaeb02d9222dc4bd /tests
parent58f7aa0ebe9920d33a22b95c3f73fc4b70a75426 (diff)
Fixed #278
Diffstat (limited to 'tests')
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket278.page42
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket278.php23
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket278TestCase.php54
3 files changed, 119 insertions, 0 deletions
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket278.page b/tests/FunctionalTests/tickets/protected/pages/Ticket278.page
new file mode 100644
index 00000000..75aed4d9
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket278.page
@@ -0,0 +1,42 @@
+<com:TContent ID="Content">
+
+ <com:TLabel ForControl="text1" Text="Text 1:" />
+ <com:TTextBox ID="text1" />
+ <com:TRequiredFieldValidator
+ ID="validator1"
+ ControlToValidate="text1"
+ ErrorMessage="Text 1 is required" />
+ <div>
+ <com:TCheckBox ID="check1" Text="More..." />
+ </div>
+
+ <com:TPanel ID="panel1" Style="display:none" >
+ <com:TLabel ForControl="text2" Text="Text 2:" />
+ <com:TTextBox ID="text2" />
+
+ <com:TRequiredFieldValidator
+ ID="validator2"
+ ControlToValidate="text2"
+ OnValidate="validator2_onValidate"
+ OnPreRender="validate2_onPostValidate"
+ ErrorMessage="Text 2 is required">
+ <prop:ClientSide.OnValidate>
+ validator.enabled = $("<%= $this->check1->ClientID %>").checked;
+ </prop:ClientSide.OnValidate>
+ </com:TRequiredFieldValidator>
+
+ </com:TPanel>
+
+ <com:TButton ID="button1" Text="Submit!" />
+
+ <com:TClientScript>
+ Event.OnLoad(function()
+ {
+ Event.observe("<%= $this->check1->ClientID %>", "click", function(ev)
+ {
+ $("<%= $this->panel1->ClientID %>").toggle();
+ });
+ });
+ </com:TClientScript>
+
+</com:TContent> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket278.php b/tests/FunctionalTests/tickets/protected/pages/Ticket278.php
new file mode 100644
index 00000000..1aadee77
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket278.php
@@ -0,0 +1,23 @@
+<?php
+
+class Ticket278 extends TPage
+{
+ function validator2_onValidate($sender, $param)
+ {
+ $sender->Enabled = $this->check1->Checked;
+ }
+
+ function validate2_onPostValidate($sender, $param)
+ {
+ $sender->Enabled = true;
+ }
+
+ function onPreRender($param)
+ {
+ parent::onPreRender($param);
+ $this->panel1->Style =
+ $this->check1->Checked ? "display:block" : "display:none";
+ }
+}
+
+?> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php
new file mode 100644
index 00000000..bd631c14
--- /dev/null
+++ b/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php
@@ -0,0 +1,54 @@
+<?php
+
+class Ticket278TestCase extends SeleniumTestCase
+{
+ function test()
+ {
+ $base = 'ctl0_Content_';
+ $this->open('tickets/index.php?page=Ticket278');
+ $this->assertTitle('Verifying Ticket 278');
+ $this->assertNotVisible($base.'validator1');
+ $this->assertNotVisible($base.'validator2');
+ $this->assertNotVisible($base.'panel1');
+
+ $this->click($base.'button1');
+ $this->assertVisible($base.'validator1');
+ $this->assertNotVisible($base.'validator2');
+
+ $this->type($base.'text1', 'asd');
+ $this->clickAndWait($base.'button1');
+ $this->assertNotVisible($base.'validator1');
+ $this->assertNotVisible($base.'validator2');
+ $this->assertNotVisible($base.'panel1');
+
+ $this->click($base.'check1');
+ $this->click($base.'button1');
+ $this->assertNotVisible($base.'validator1');
+ $this->assertVisible($base.'validator2');
+ $this->assertVisible($base.'panel1');
+
+
+ $this->type($base.'text1', '');
+ $this->type($base.'text2', 'asd');
+ $this->click($base.'button1');
+ $this->assertVisible($base.'validator1');
+ $this->assertNotVisible($base.'validator2');
+ $this->assertVisible($base.'panel1');
+
+
+ $this->type($base.'text1', 'asd');
+ $this->clickAndWait($base.'button1');
+ $this->assertNotVisible($base.'validator1');
+ $this->assertNotVisible($base.'validator2');
+ $this->assertVisible($base.'panel1');
+
+ $this->type($base.'text1', '');
+ $this->type($base.'text2', '');
+ $this->click($base.'button1');
+ $this->assertVisible($base.'validator1');
+ $this->assertVisible($base.'validator2');
+ $this->assertVisible($base.'panel1');
+ }
+}
+
+?> \ No newline at end of file