protected function AssertContentTrait::assertFieldsByValue in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/simpletest/src/AssertContentTrait.php \Drupal\simpletest\AssertContentTrait::assertFieldsByValue()
Asserts that a field exists in the current page with a given Xpath result.
Parameters
\SimpleXmlElement[] $fields: Xml elements.
string $value: (optional) Value of the field to assert. You may pass in NULL (default) to skip checking the actual value, while still checking that the field exists.
string $message: (optional) A message to display with the assertion. Do not translate messages: use \Drupal\Component\Utility\SafeMarkup::format() to embed variables in the message text, not t(). If left blank, a default message will be displayed.
string $group: (optional) The group this message is in, which is displayed in a column in test output. Use 'Debug' to indicate this is debugging output. Do not translate this string. Defaults to 'Other'; most tests do not override this default.
Return value
bool TRUE on pass, FALSE on fail.
2 calls to AssertContentTrait::assertFieldsByValue()
- AssertContentTrait::assertFieldByXPath in core/
modules/ simpletest/ src/ AssertContentTrait.php - Asserts that a field exists in the current page by the given XPath.
- MultiFormTest::testMultiForm in core/
modules/ system/ src/ Tests/ Ajax/ MultiFormTest.php - Tests that pages with the 'node_page_form' included twice work correctly.
File
- core/
modules/ simpletest/ src/ AssertContentTrait.php, line 919 - Contains \Drupal\simpletest\AssertContentTrait.
Class
- AssertContentTrait
- Provides test methods to assert content.
Namespace
Drupal\simpletestCode
protected function assertFieldsByValue($fields, $value = NULL, $message = '', $group = 'Other') {
// If value specified then check array for match.
$found = TRUE;
if (isset($value)) {
$found = FALSE;
if ($fields) {
foreach ($fields as $field) {
if (isset($field['value']) && $field['value'] == $value) {
// Input element with correct value.
$found = TRUE;
}
elseif (isset($field->option) || isset($field->optgroup)) {
// Select element found.
$selected = $this
->getSelectedItem($field);
if ($selected === FALSE) {
// No item selected so use first item.
$items = $this
->getAllOptions($field);
if (!empty($items) && $items[0]['value'] == $value) {
$found = TRUE;
}
}
elseif ($selected == $value) {
$found = TRUE;
}
}
elseif ((string) $field == $value) {
// Text area with correct text.
$found = TRUE;
}
}
}
}
return $this
->assertTrue($fields && $found, $message, $group);
}