diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php | 45 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/controls/down.gif | bin | 0 -> 1308 bytes | |||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/controls/up.gif | bin | 0 -> 499 bytes | |||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/pages/ExtendedToggleImageButton.php | 17 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/pages/Ticket659.page | 4 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/pages/Ticket659.php | 19 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/pages/ToggleTest.page | 4 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/protected/pages/ToggleTest.php | 19 | ||||
-rw-r--r-- | tests/FunctionalTests/tickets/tests/Ticket659TestCase.php | 23 |
9 files changed, 131 insertions, 0 deletions
diff --git a/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php b/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php new file mode 100644 index 00000000..80c16ce5 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/controls/ToggleImageButton.php @@ -0,0 +1,45 @@ +<?php +/** + * + * + * @author Christophe BOULAIN (Christophe.Boulain@ceram.fr) + * @copyright Copyright © 2007, CERAM Sophia Antipolis + * @license url nameoflicense + * @version $Id$ + * + */ + +class ToggleImageButton extends TImageButton { + + public function getState () { + return $this->getViewState('state', ToggleImageButtonState::Down); + } + + public function setState($value) { + $this->setViewState('state', TPropertyValue::ensureEnum($value, ToggleImageButtonState)); + } + + public function toggleState () { + $this->setState(($this->getState()===ToggleImageButtonState::Down)?ToggleImageButtonState::Up:ToggleImageButtonState::Down); + } + + public function onClick ($param) { + $this->toggleState(); + parent::onClick($param); + } + + public function getImageUrl () { + $img=($this->getState()===ToggleImageButtonState::Down)?'down.gif':'up.gif'; + return $this->publishAsset($img); + } + + public function setImageUrl() { + throw new TUnsupportedOperationException('ImageUrl property is read-only'); + } +} + +class ToggleImageButtonState extends TEnumerable { + const Down='Down'; + const Up='Up'; +} +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/controls/down.gif b/tests/FunctionalTests/tickets/protected/controls/down.gif Binary files differnew file mode 100644 index 00000000..9f755b5d --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/controls/down.gif diff --git a/tests/FunctionalTests/tickets/protected/controls/up.gif b/tests/FunctionalTests/tickets/protected/controls/up.gif Binary files differnew file mode 100644 index 00000000..7eeb4896 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/controls/up.gif diff --git a/tests/FunctionalTests/tickets/protected/pages/ExtendedToggleImageButton.php b/tests/FunctionalTests/tickets/protected/pages/ExtendedToggleImageButton.php new file mode 100644 index 00000000..2d0b709e --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/ExtendedToggleImageButton.php @@ -0,0 +1,17 @@ +<?php +/** + * + * + * @author Christophe BOULAIN (Christophe.Boulain@ceram.fr) + * @copyright Copyright © 2007, CERAM Sophia Antipolis + * @license url nameoflicense + * @version $Id$ + * + */ + +prado::using ('Application.controls.ToggleImageButton'); + +class ExtendedToggleImageButton extends ToggleImageButton { + +} +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket659.page b/tests/FunctionalTests/tickets/protected/pages/Ticket659.page new file mode 100644 index 00000000..66b05eda --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket659.page @@ -0,0 +1,4 @@ +<com:TContent ID="Content"> +<com:ExtendedToggleImageButton id="btn" OnClick="clickToggleButton" State="Down"/> +<com:TLabel id="lbl" Text="Down"/> +</com:TContent>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket659.php b/tests/FunctionalTests/tickets/protected/pages/Ticket659.php new file mode 100644 index 00000000..d294a831 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket659.php @@ -0,0 +1,19 @@ +<?php +/** + * + * + * @author Christophe BOULAIN (Christophe.Boulain@ceram.fr) + * @copyright Copyright © 2007, CERAM Sophia Antipolis + * @license url nameoflicense + * @version $Id$ + * + */ + +prado::using ('Application.pages.ExtendedToggleImageButton'); + +class Ticket659 extends TPage { + public function clickToggleButton ($sender, $param) { + $this->lbl->Text=$sender->State; + } +} +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/pages/ToggleTest.page b/tests/FunctionalTests/tickets/protected/pages/ToggleTest.page new file mode 100644 index 00000000..0d633657 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/ToggleTest.page @@ -0,0 +1,4 @@ +<com:TContent ID="Content"> +<com:ToggleImageButton id="btn" OnClick="clickToggleButton" State="Down"/> +<com:TLabel id="lbl" Text="Down"/> +</com:TContent>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/protected/pages/ToggleTest.php b/tests/FunctionalTests/tickets/protected/pages/ToggleTest.php new file mode 100644 index 00000000..2c12cb72 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/ToggleTest.php @@ -0,0 +1,19 @@ +<?php +/** + * + * + * @author Christophe BOULAIN (Christophe.Boulain@ceram.fr) + * @copyright Copyright © 2007, CERAM Sophia Antipolis + * @license url nameoflicense + * @version $Id$ + * + */ + +prado::using ('Application.controls.ToggleImageButton'); + +class ToggleTest extends TPage { + public function clickToggleButton ($sender, $param) { + $this->lbl->Text=$sender->State; + } +} +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/tickets/tests/Ticket659TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket659TestCase.php new file mode 100644 index 00000000..70c52f35 --- /dev/null +++ b/tests/FunctionalTests/tickets/tests/Ticket659TestCase.php @@ -0,0 +1,23 @@ +<?php
+
+class Ticket659TestCase extends SeleniumTestCase
+{
+ function test()
+ {
+ $base = 'ctl0_Content_';
+ // Normal component (working)
+ $this->open('tickets/index.php?page=ToggleTest');
+ $this->assertText("${base}lbl", "Down");
+ $this->click("${base}btn", "");
+ $this->pause(800);
+ $this->assertText("${base}lbl", "Up");
+ // Extended component (not working)
+ $this->open('tickets/index.php?page=Ticket659');
+ $this->assertText("${base}lbl", "Down");
+ $this->click("${base}btn", "");
+ $this->pause(800);
+ $this->assertText("${base}lbl", "Up");
+ }
+}
+
+?>
\ No newline at end of file |