2016-11-05 17:05:09 +01:00

65 lines
2.0 KiB
Plaintext

<?php
/**
* @file
* Contains LibrariesWebTestBase.
*
* Simpletest automatically discovers test files using PSR-4. We cannot,
* however, declare a namespace for this class, as that would require PHP 5.3.
* To prepare the PHP 5.3 requirement and the usage of PSR-4 in 7.x-3.x, we
* place the test files in the correct directory already, but for now register
* them explicitly in libraries.info
*/
/**
* Base class for Libraries API web tests.
*/
abstract class LibrariesWebTestBase extends DrupalWebTestCase {
/**
* {@inheritdoc}
*/
protected $profile = 'testing';
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp('libraries', 'libraries_test_module');
theme_enable(array('libraries_test_theme'));
}
/**
* Retrieves a path making sure a set of permissions is required to access it.
*
* After calling this method, a user with the given permissions is logged in
* and the retrieved page is loaded into the internal browser.
*
* @param array $permissions
* An array of permission names to assign to user. Note that the user always
* has the default permissions derived from the "authenticated users" role.
* @param string $path
* Drupal path or URL to load into the internal browser.
* @param array $options
* Options to be forwarded to url().
* @param array $headers
* An array containing additional HTTP request headers, each formatted as
* "name: value".
*
* @return string
* The retrieved HTML string, also available as $this->drupalGetContent().
*
* @see \DrupalWebTestCase::drupalGet()
* @see \DrupalWebTestCase::drupalCreateUser()
*/
protected function getWithPermissions(array $permissions, $path, array $options = array(), array $headers = array()) {
$this->drupalGet($path, $options, $headers);
$this->assertResponse(403);
$this->drupalLogin($this->drupalCreateUser($permissions));
$this->drupalGet($path, $options, $headers);
$this->assertResponse(200);
}
}