class UpdateCoreUnitTestCase
Tests update functionality unrelated to the database.
Hierarchy
- class \DrupalTestCase
- class \DrupalUnitTestCase
- class \UpdateCoreUnitTestCase
- class \DrupalUnitTestCase
Expanded class hierarchy of UpdateCoreUnitTestCase
File
- drupal-7.x/
modules/ update/ update.test, line 748 - This file contains tests for the Update Manager module.
View source
class UpdateCoreUnitTestCase extends DrupalUnitTestCase {
public static function getInfo() {
return array(
'name' => "Unit tests",
'description' => 'Test update funcionality unrelated to the database.',
'group' => 'Update',
);
}
function setUp() {
parent::setUp('update');
module_load_include('inc', 'update', 'update.fetch');
}
/**
* Tests that _update_build_fetch_url() builds the URL correctly.
*/
function testUpdateBuildFetchUrl() {
//first test that we didn't break the trivial case
$project['name'] = 'update_test';
$project['project_type'] = '';
$project['info']['version'] = '';
$project['info']['project status url'] = 'http://www.example.com';
$project['includes'] = array('module1' => 'Module 1', 'module2' => 'Module 2');
$site_key = '';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$url = _update_build_fetch_url($project, $site_key);
$this->assertEqual($url, $expected, "'$url' when no site_key provided should be '$expected'.");
//For disabled projects it shouldn't add the site key either.
$site_key = 'site_key';
$project['project_type'] = 'disabled';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$url = _update_build_fetch_url($project, $site_key);
$this->assertEqual($url, $expected, "'$url' should be '$expected' for disabled projects.");
//for enabled projects, adding the site key
$project['project_type'] = '';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$expected .= '?site_key=site_key';
$expected .= '&list=' . rawurlencode('module1,module2');
$url = _update_build_fetch_url($project, $site_key);
$this->assertEqual($url, $expected, "When site_key provided, '$url' should be '$expected'.");
// http://drupal.org/node/1481156 test incorrect logic when URL contains
// a question mark.
$project['info']['project status url'] = 'http://www.example.com/?project=';
$expected = 'http://www.example.com/?project=/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$expected .= '&site_key=site_key';
$expected .= '&list=' . rawurlencode('module1,module2');
$url = _update_build_fetch_url($project, $site_key);
$this->assertEqual($url, $expected, "When ? is present, '$url' should be '$expected'.");
}
}
Members
Name | Modifiers | Type | Description |
---|---|---|---|
DrupalTestCase:: |
protected | property | Assertions thrown in that test case. |
DrupalTestCase:: |
protected | property | The database prefix of this test run. |
DrupalTestCase:: |
protected | property | The original file directory, before it was changed for testing purposes. |
DrupalTestCase:: |
public | property | Current results of this test case. |
DrupalTestCase:: |
protected | property | Flag to indicate whether the test has been set up. |
DrupalTestCase:: |
protected | property | |
DrupalTestCase:: |
protected | property | |
DrupalTestCase:: |
protected | property | This class is skipped when looking for the source of an assertion. |
DrupalTestCase:: |
protected | property | The test run ID. |
DrupalTestCase:: |
protected | property | Time limit for the test. |
DrupalTestCase:: |
protected | function | Internal helper: stores the assert. |
DrupalTestCase:: |
protected | function | Check to see if two values are equal. |
DrupalTestCase:: |
protected | function | Check to see if a value is false (an empty string, 0, NULL, or FALSE). |
DrupalTestCase:: |
protected | function | Check to see if two values are identical. |
DrupalTestCase:: |
protected | function | Check to see if two values are not equal. |
DrupalTestCase:: |
protected | function | Check to see if two values are not identical. |
DrupalTestCase:: |
protected | function | Check to see if a value is not NULL. |
DrupalTestCase:: |
protected | function | Check to see if a value is NULL. |
DrupalTestCase:: |
protected | function | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). |
DrupalTestCase:: |
public static | function | Delete an assertion record by message ID. |
DrupalTestCase:: |
protected | function | Fire an error assertion. |
DrupalTestCase:: |
public | function | Handle errors during test runs. |
DrupalTestCase:: |
protected | function | Handle exceptions. |
DrupalTestCase:: |
protected | function | Fire an assertion that is always negative. |
DrupalTestCase:: |
public static | function | Converts a list of possible parameters into a stack of permutations. |
DrupalTestCase:: |
protected | function | Cycles through backtrace until the first non-assertion method is found. |
DrupalTestCase:: |
public static | function | Store an assertion from outside the testing context. |
DrupalTestCase:: |
protected | function | Fire an assertion that is always positive. |
DrupalTestCase:: |
public static | function | Generates a random string containing letters and numbers. |
DrupalTestCase:: |
public static | function | Generates a random string of ASCII characters of codes 32 to 126. |
DrupalTestCase:: |
public | function | Run all tests in this class. |
DrupalTestCase:: |
protected | function | Logs verbose message in a text file. |
DrupalUnitTestCase:: |
protected | function | |
DrupalUnitTestCase:: |
function |
Constructor for DrupalUnitTestCase. Overrides DrupalTestCase:: |
|
UpdateCoreUnitTestCase:: |
public static | function | |
UpdateCoreUnitTestCase:: |
function |
Sets up unit test environment. Overrides DrupalUnitTestCase:: |
|
UpdateCoreUnitTestCase:: |
function | Tests that _update_build_fetch_url() builds the URL correctly. |