summaryrefslogtreecommitdiff
path: root/tests/test_tools/simpletest/selector.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_tools/simpletest/selector.php')
-rw-r--r--tests/test_tools/simpletest/selector.php133
1 files changed, 133 insertions, 0 deletions
diff --git a/tests/test_tools/simpletest/selector.php b/tests/test_tools/simpletest/selector.php
new file mode 100644
index 00000000..78ee0fef
--- /dev/null
+++ b/tests/test_tools/simpletest/selector.php
@@ -0,0 +1,133 @@
+<?php
+ /**
+ * Base include file for SimpleTest.
+ * @package SimpleTest
+ * @subpackage WebTester
+ * @version $Id: selector.php,v 1.3 2005/08/25 03:34:24 lastcraft Exp $
+ */
+
+ /**#@+
+ * include SimpleTest files
+ */
+ require_once(dirname(__FILE__) . '/tag.php');
+ require_once(dirname(__FILE__) . '/encoding.php');
+ /**#@-*/
+
+ /**
+ * Used to extract form elements for testing against.
+ * Searches by name attribute.
+ * @package SimpleTest
+ * @subpackage WebTester
+ */
+ class SimpleByName {
+ protected $_name;
+
+ /**
+ * Stashes the name for later comparison.
+ * @param string $name Name attribute to match.
+ */
+ function SimpleByName($name) {
+ $this->_name = $name;
+ }
+
+ /**
+ * Compares with name attribute of widget.
+ * @param SimpleWidget $widget Control to compare.
+ * @access public
+ */
+ function isMatch($widget) {
+ return ($widget->getName() == $this->_name);
+ }
+ }
+
+ /**
+ * Used to extract form elements for testing against.
+ * Searches by visible label or alt text.
+ * @package SimpleTest
+ * @subpackage WebTester
+ */
+ class SimpleByLabel {
+ protected $_label;
+
+ /**
+ * Stashes the name for later comparison.
+ * @param string $label Visible text to match.
+ */
+ function SimpleByLabel($label) {
+ $this->_label = $label;
+ }
+
+ /**
+ * Comparison. Compares visible text of widget or
+ * related label.
+ * @param SimpleWidget $widget Control to compare.
+ * @access public
+ */
+ function isMatch($widget) {
+ if (! method_exists($widget, 'isLabel')) {
+ return false;
+ }
+ return $widget->isLabel($this->_label);
+ }
+ }
+
+ /**
+ * Used to extract form elements for testing against.
+ * Searches dy id attribute.
+ * @package SimpleTest
+ * @subpackage WebTester
+ */
+ class SimpleById {
+ protected $_id;
+
+ /**
+ * Stashes the name for later comparison.
+ * @param string $id ID atribute to match.
+ */
+ function SimpleById($id) {
+ $this->_id = $id;
+ }
+
+ /**
+ * Comparison. Compares id attribute of widget.
+ * @param SimpleWidget $widget Control to compare.
+ * @access public
+ */
+ function isMatch($widget) {
+ return $widget->isId($this->_id);
+ }
+ }
+
+ /**
+ * Used to extract form elements for testing against.
+ * Searches by visible label, name or alt text.
+ * @package SimpleTest
+ * @subpackage WebTester
+ */
+ class SimpleByLabelOrName {
+ protected $_label;
+
+ /**
+ * Stashes the name/label for later comparison.
+ * @param string $label Visible text to match.
+ */
+ function SimpleByLabelOrName($label) {
+ $this->_label = $label;
+ }
+
+ /**
+ * Comparison. Compares visible text of widget or
+ * related label or name.
+ * @param SimpleWidget $widget Control to compare.
+ * @access public
+ */
+ function isMatch($widget) {
+ if (method_exists($widget, 'isLabel')) {
+ if ($widget->isLabel($this->_label)) {
+ return true;
+ }
+ }
+ return ($widget->getName() == $this->_label);
+ }
+ }
+?> \ No newline at end of file