summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket205.page24
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket205.php11
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket207.page16
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket205TestCase.php23
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket207TestCase.php37
5 files changed, 104 insertions, 7 deletions
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket205.page b/tests/FunctionalTests/tickets/protected/pages/Ticket205.page
index 1f271c14..1481a227 100644
--- a/tests/FunctionalTests/tickets/protected/pages/Ticket205.page
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket205.page
@@ -1,4 +1,26 @@
<com:TContent ID="Content">
<h3>TCustomValidator not enabling ControlCssClass or prop:ClientSide.OnError after postback.</h3>
-
+ <style>
+ .required
+ {
+ border: 1px solid red;
+ background-color: pink;
+ }
+ </style>
+ <script type="text/javascript">
+ function clientSideCustomValidate(sender, param)
+ {
+ return param == "Prado";
+ }
+ </script>
+ <com:TTextBox ID="textbox1" />
+ <com:TCustomValidator
+ ID="validator1"
+ ControlToValidate="textbox1"
+ ControlCssClass="required"
+ OnServerValidate="customValidate"
+ ClientValidationFunction="clientSideCustomValidate"
+ ClientSide.OnError="alert('error')"
+ ErrorMessage="must equal to 'Prado'" />
+ <com:TButton ID="button1" Text="Submit!" />
</com:TContent> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket205.php b/tests/FunctionalTests/tickets/protected/pages/Ticket205.php
new file mode 100644
index 00000000..6145af9a
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket205.php
@@ -0,0 +1,11 @@
+<?php
+
+class Ticket205 extends TPage
+{
+ function customValidate($sender, $param)
+ {
+ $param->IsValid = $this->textbox1->Text == "Prado";
+ }
+}
+
+?> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket207.page b/tests/FunctionalTests/tickets/protected/pages/Ticket207.page
index 8826c208..556c5aae 100644
--- a/tests/FunctionalTests/tickets/protected/pages/Ticket207.page
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket207.page
@@ -1,13 +1,17 @@
<com:TContent ID="Content">
<h2>Validators ClientSide.OnError triggered twice</h2>
- <com:TTextBox ID="T" /><br />
- <com:TRequiredFieldValidator ControlToValidate="T" Text="Error"
- ClientSide.OnError="Logger.info('error on T fired')" />
+ <h3>Use ClientSide.ObseveChanges="false"</h3>
+ <com:TTextBox ID="text1" /><br />
+ <com:TRequiredFieldValidator
+ id="validator1"
+ ControlToValidate="text1" Text="Error"
+ ClientSide.ObserveChanges="false"
+ ClientSide.OnError="alert('error on text1 fired')" />
<br />
- <com:TTextBox ID="B" /><br />
- <com:TRequiredFieldValidator ControlToValidate="B" Text="Error" />
+ <com:TTextBox ID="text2" /><br />
+ <com:TRequiredFieldValidator id="validator2" ControlToValidate="text2" Text="Error" />
<br />
- <com:TButton Text="submit" />
+ <com:TButton id="button1" Text="submit" />
<h3>Conditions</h3>
<pre>
(TextBox? B is just there to prevent server submission)
diff --git a/tests/FunctionalTests/tickets/tests/Ticket205TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket205TestCase.php
new file mode 100644
index 00000000..85785697
--- /dev/null
+++ b/tests/FunctionalTests/tickets/tests/Ticket205TestCase.php
@@ -0,0 +1,23 @@
+<?php
+
+class Ticket205TestCase extends SeleniumTestCase
+{
+ function test()
+ {
+ $base = 'ctl0_Content_';
+ $this->open("tickets/index.php?page=Ticket205");
+ $this->assertTitle("Verifying Ticket 205");
+ $this->assertNotVisible("{$base}validator1");
+
+ $this->type("{$base}textbox1", "test");
+ $this->click("{$base}button1");
+ $this->assertVisible("{$base}validator1");
+ $this->assertAlert("error");
+
+ $this->type("{$base}textbox1", "Prado");
+ $this->clickAndWait("{$base}button1");
+ $this->assertNotVisible("{$base}validator1");
+ }
+}
+
+?> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/tests/Ticket207TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket207TestCase.php
new file mode 100644
index 00000000..53ae6528
--- /dev/null
+++ b/tests/FunctionalTests/tickets/tests/Ticket207TestCase.php
@@ -0,0 +1,37 @@
+<?php
+
+class Ticket207TestCase extends SeleniumTestCase
+{
+ function test()
+ {
+ $base = 'ctl0_Content_';
+ $this->open('tickets/index.php?page=Ticket207');
+ $this->assertTitle("Verifying Ticket 207");
+ $this->assertNotVisible("{$base}validator1");
+ $this->assertNotVisible("{$base}validator2");
+
+ $this->click("{$base}button1");
+ $this->assertAlert('error on text1 fired');
+ $this->assertVisible("{$base}validator1");
+ $this->assertVisible("{$base}validator2");
+
+ $this->type("{$base}text1", 'test');
+ $this->assertVisible("{$base}validator1");
+ $this->assertVisible("{$base}validator2");
+
+ $this->click("{$base}button1");
+ $this->assertNotVisible("{$base}validator1");
+ $this->assertVisible("{$base}validator2");
+
+ $this->type("{$base}text1", '');
+ $this->assertNotVisible("{$base}validator1");
+ $this->assertVisible("{$base}validator2");
+
+ $this->click("{$base}button1");
+ $this->assertAlert('error on text1 fired');
+ $this->assertVisible("{$base}validator1");
+ $this->assertVisible("{$base}validator2");
+ }
+}
+
+?> \ No newline at end of file