TagTest.php in Views (for Drupal 7) 8.3
Definition of Drupal\views\tests\UI\TagTest.
Namespace
Drupal\views\Tests\UIFile
lib/Drupal/views/Tests/UI/TagTest.phpView source
<?php
/**
* @file
* Definition of Drupal\views\tests\UI\TagTest.
*/
namespace Drupal\views\Tests\UI;
/**
* Tests the views ui tagging functionality.
*/
class TagTest extends UITestBase {
public static function getInfo() {
return array(
'name' => 'Tag',
'description' => 'Tests the views ui tagging functionality.',
'group' => 'Views UI',
);
}
/**
* Tests the views_ui_autocomplete_tag function.
*/
public function testViewsUiAutocompleteTag() {
module_load_include('inc', 'views_ui', 'admin');
// Save 15 views with a tag.
$tags = array();
for ($i = 0; $i < 16; $i++) {
$suffix = $i % 2 ? 'odd' : 'even';
$tag = 'autocomplete_tag_test_' . $suffix . $this
->randomName();
$tags[] = $tag;
views_create_view(array(
'tag' => $tag,
'name' => $this
->randomName(),
))
->save();
}
// Make sure just ten results are returns.
$result = views_ui_autocomplete_tag('autocomplete_tag_test');
$matches = (array) json_decode($result
->getContent());
$this
->assertEqual(count($matches), 10, 'Make sure the maximum amount of tag results is 10.');
// Make sure that matching by a certain prefix works.
$result = views_ui_autocomplete_tag('autocomplete_tag_test_even');
$matches = (array) json_decode($result
->getContent());
$this
->assertEqual(count($matches), 8, 'Make sure that only a subset is returned.');
foreach ($matches as $tag) {
$this
->assertTrue(array_search($tag, $tags) !== FALSE, format_string('Make sure the returned tag @tag actually exists.' . array(
'@tag' => $tag,
)));
}
// Make sure an invalid result doesn't return anything.
$result = views_ui_autocomplete_tag($this
->randomName());
$matches = (array) json_decode($result
->getContent());
$this
->assertEqual(count($matches), 0, "Make sure an invalid tag doesn't return anything.");
}
}