Issue #2932044 by alexpott: Remove \PHPUnit_Util_XML::cssSelect() from \Drupal\tour\Tests\TourTestBase

8.5.x
Nathaniel Catchpole 2017-12-21 10:57:43 +00:00
parent 6ac6325024
commit 93b9f58426
2 changed files with 85 additions and 2 deletions

View File

@ -0,0 +1,83 @@
<?php
namespace Drupal\tour\Tests;
/**
* A legacy test for \Drupal\tour\Tests\TourTestBase.
*
* @group tour
*/
class TourTest extends TourTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = ['block', 'tour', 'locale', 'language', 'tour_test'];
/**
* Tour tip attributes to be tested. Keyed by the path.
*
* @var array
* An array of tip attributes, keyed by path.
*/
protected $tips = [
'tour-test-1' => [
'data-id' => 'tour-test-1',
'data-class' => 'tour-test-1',
],
];
/**
* An admin user with administrative permissions for tour.
*
* @var \Drupal\user\UserInterface
*/
protected $adminUser;
/**
* The permissions required for a logged in user to test tour tips.
*
* @var array
* A list of permissions.
*/
protected $permissions = ['access tour'];
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
// Make sure we are using distinct default and administrative themes for
// the duration of these tests.
$this->container->get('theme_handler')->install(['bartik', 'seven']);
$this->config('system.theme')
->set('default', 'bartik')
->set('admin', 'seven')
->save();
$this->permissions[] = 'view the administration theme';
// Create an admin user to view tour tips.
$this->adminUser = $this->drupalCreateUser($this->permissions);
$this->drupalLogin($this->adminUser);
$this->drupalPlaceBlock('local_actions_block', [
'theme' => 'seven',
'region' => 'content'
]);
}
/**
* A simple tip test.
*/
public function testTips() {
foreach ($this->tips as $path => $attributes) {
$this->drupalGet($path);
$this->assertTourTips($attributes);
}
}
}

View File

@ -55,11 +55,11 @@ abstract class TourTestBase extends WebTestBase {
$modals = 0; $modals = 0;
foreach ($tips as $tip) { foreach ($tips as $tip) {
if (!empty($tip['data-id'])) { if (!empty($tip['data-id'])) {
$elements = \PHPUnit_Util_XML::cssSelect('#' . $tip['data-id'], TRUE, $this->content, TRUE); $elements = $this->xpath('//*[@id="' . $tip['data-id'] . '"]');
$this->assertTrue(!empty($elements) && count($elements) === 1, format_string('Found corresponding page element for tour tip with id #%data-id', ['%data-id' => $tip['data-id']])); $this->assertTrue(!empty($elements) && count($elements) === 1, format_string('Found corresponding page element for tour tip with id #%data-id', ['%data-id' => $tip['data-id']]));
} }
elseif (!empty($tip['data-class'])) { elseif (!empty($tip['data-class'])) {
$elements = \PHPUnit_Util_XML::cssSelect('.' . $tip['data-class'], TRUE, $this->content, TRUE); $elements = $this->xpath('//*[contain(@class, "' . $tip['data-id'] . '")]');
$this->assertFalse(empty($elements), format_string('Found corresponding page element for tour tip with class .%data-class', ['%data-class' => $tip['data-class']])); $this->assertFalse(empty($elements), format_string('Found corresponding page element for tour tip with class .%data-class', ['%data-class' => $tip['data-class']]));
} }
else { else {