@javascript
Scenario: Check disable Atto editor.
When I set the field "mycontrol" to "Disable"
- Then the "disabled" attribute of "button.atto_collapse_button" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_title_button" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_bold_button" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_italic_button" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_unorderedlist_button_insertUnorderedList" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_orderedlist_button_insertOrderedList" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_link_button" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_link_button_unlink" "css_element" should contain "disabled"
- And the "disabled" attribute of "button.atto_image_button" "css_element" should contain "disabled"
+ Then the "disabled" attribute of "button.atto_collapse_button" "css_element" should be set
+ And the "disabled" attribute of "button.atto_title_button" "css_element" should be set
+ And the "disabled" attribute of "button.atto_bold_button" "css_element" should be set
+ And the "disabled" attribute of "button.atto_italic_button" "css_element" should be set
+ And the "disabled" attribute of "button.atto_unorderedlist_button_insertUnorderedList" "css_element" should be set
+ And the "disabled" attribute of "button.atto_orderedlist_button_insertOrderedList" "css_element" should be set
+ And the "disabled" attribute of "button.atto_link_button" "css_element" should be set
+ And the "disabled" attribute of "button.atto_link_button_unlink" "css_element" should be set
+ And the "disabled" attribute of "button.atto_image_button" "css_element" should be set
And the "contenteditable" attribute of "div#id_myeditoreditable" "css_element" should contain "false"
@javascript
Scenario: Check enable Atto editor.
When I set the field "mycontrol" to "Enable"
- Then "button.atto_collapse_button[disabled]" "css_element" should not exist
- And "button.atto_title_button[disabled]" "css_element" should not exist
- And "button.atto_bold_button[disabled]" "css_element" should not exist
- And "button.atto_italic_button[disabled]" "css_element" should not exist
- And "button.atto_unorderedlist_button_insertUnorderedList[disabled]" "css_element" should not exist
- And "button.atto_orderedlist_button_insertOrderedList[disabled]" "css_element" should not exist
- And "button.atto_link_button[disabled]" "css_element" should not exist
- And "button.atto_link_button_unlink[disabled]" "css_element" should not exist
- And "button.atto_image_button[disabled]" "css_element" should not exist
+ Then the "disabled" attribute of "button.atto_collapse_button" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_title_button" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_bold_button" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_italic_button" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_unorderedlist_button_insertUnorderedList" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_orderedlist_button_insertOrderedList" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_link_button" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_link_button_unlink" "css_element" should not be set
+ And the "disabled" attribute of "button.atto_image_button" "css_element" should not be set
And the "contenteditable" attribute of "div#id_myeditoreditable" "css_element" should contain "true"
$this->resize_window($windowsize, $windowviewport === 'viewport');
}
+ /**
+ * Checks whether there the specified attribute is set or not.
+ *
+ * @Then the :attribute attribute of :element :selectortype should be set
+ * @Then the :attribute attribute of :element :selectortype should :not be set
+ *
+ * @throws ExpectationException
+ * @param string $attribute Name of attribute
+ * @param string $element The locator of the specified selector
+ * @param string $selectortype The selector type
+ * @param string $not
+ */
+ public function the_attribute_of_should_be_set($attribute, $element, $selectortype, $not = null) {
+ // Get the container node (exception if it doesn't exist).
+ $containernode = $this->get_selected_node($selectortype, $element);
+ $hasattribute = $containernode->hasAttribute($attribute);
+
+ if ($not && $hasattribute) {
+ $value = $containernode->getAttribute($attribute);
+ // Should not be set but is.
+ throw new ExpectationException(
+ "The attribute \"{$attribute}\" should not be set but has a value of '{$value}'",
+ $this->getSession()
+ );
+ } else if (!$not && !$hasattribute) {
+ // Should be set but is not.
+ throw new ExpectationException(
+ "The attribute \"{$attribute}\" should be set but is not",
+ $this->getSession()
+ );
+ }
+ }
+
/**
* Checks whether there is an attribute on the given element that contains the specified text.
*