140 lines
4.2 KiB
Plaintext
140 lines
4.2 KiB
Plaintext
<?php
|
|
// $Id$
|
|
|
|
class CommonFormatSizeTestCase extends DrupalWebTestCase {
|
|
|
|
/**
|
|
* Implementation of getInfo().
|
|
*/
|
|
function getInfo() {
|
|
return array(
|
|
'name' => t('Format size test'),
|
|
'description' => t('Parse a predefined amount of bytes and compare the output with the expected value.'),
|
|
'group' => t('System')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Implementation of setUp().
|
|
*/
|
|
function setUp() {
|
|
$this->exact_test_cases = array(
|
|
'1 byte' => 1, // byte
|
|
'1 KB' => 1000, // kilobyte
|
|
'1 MB' => 1000000, // megabyte
|
|
'1 GB' => 1000000000, // gigabyte
|
|
'1 TB' => 1000000000000, // terabyte
|
|
'1 PB' => 1000000000000000, // petabyte
|
|
'1 EB' => 1000000000000000000, // exabyte
|
|
'1 ZB' => 1000000000000000000000, // zettabyte
|
|
'1 YB' => 1000000000000000000000000, // yottabyte
|
|
);
|
|
$this->rounded_test_cases = array(
|
|
'2 bytes' => 2, // bytes
|
|
'1 MB' => 999999, // 1 MB (not 1000 kilobyte!)
|
|
'3.62 MB' => 3623651, // megabytes
|
|
'67.23 PB' => 67234178751368124, // petabytes
|
|
'235.35 YB' => 235346823821125814962843827, // yottabytes
|
|
);
|
|
parent::setUp();
|
|
}
|
|
|
|
/**
|
|
* testCommonFormatSize
|
|
*/
|
|
function testCommonFormatSize() {
|
|
foreach (array($this->exact_test_cases, $this->rounded_test_cases) as $test_cases) {
|
|
foreach ($test_cases as $expected => $size) {
|
|
$this->assertTrue(
|
|
($result = format_size($size, NULL)) == $expected,
|
|
$expected . " == " . $result . " (" . $size . " bytes) %s"
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Test drupal_explode_tags() and drupal_implode_tags().
|
|
*/
|
|
class DrupalTagsHandlingTestCase extends DrupalWebTestCase {
|
|
var $validTags = array(
|
|
'Drupal' => 'Drupal',
|
|
'Drupal with some spaces' => 'Drupal with some spaces',
|
|
'"Legendary Drupal mascot of doom: ""Druplicon"""' => 'Legendary Drupal mascot of doom: "Druplicon"',
|
|
'"Drupal, although it rhymes with sloopal, is as awesome as a troopal!"' => 'Drupal, although it rhymes with sloopal, is as awesome as a troopal!',
|
|
);
|
|
|
|
/**
|
|
* Implementation of getInfo().
|
|
*/
|
|
function getInfo() {
|
|
return array(
|
|
'name' => t('Drupal tags handling'),
|
|
'description' => t("Performs tests on Drupal's handling of tags, both explosion and implosion tactics used."),
|
|
'group' => t('System')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Explode a series of tags.
|
|
*/
|
|
function testDrupalExplodeTags() {
|
|
$string = implode(', ', array_keys($this->validTags));
|
|
$tags = drupal_explode_tags($string);
|
|
$this->assertTags($tags);
|
|
}
|
|
|
|
/**
|
|
* Implode a series of tags.
|
|
*/
|
|
function testDrupalImplodeTags() {
|
|
$tags = array_values($this->validTags);
|
|
// Let's explode and implode to our heart's content.
|
|
for ($i = 0; $i < 10; $i++) {
|
|
$string = drupal_implode_tags($tags);
|
|
$tags = drupal_explode_tags($string);
|
|
}
|
|
$this->assertTags($tags);
|
|
}
|
|
|
|
/**
|
|
* Helper function: asserts that the ending array of tags is what we wanted.
|
|
*/
|
|
function assertTags($tags) {
|
|
$original = $this->validTags;
|
|
foreach ($tags as $tag) {
|
|
$key = array_search($tag, $original);
|
|
$this->_assert($key !== FALSE, t('Make sure tag %tag shows up in the final tags array (originally %original)', array('%tag' => $tag, '%original' => $key)));
|
|
unset($original[$key]);
|
|
}
|
|
foreach ($original as $leftover) {
|
|
$this->_assert(FALSE, t('Leftover tag %leftover was left over.', array('%leftover' => $leftover)));
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Test drupal_http_request().
|
|
*/
|
|
class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
|
|
/**
|
|
* Implementation of getInfo().
|
|
*/
|
|
function getInfo() {
|
|
return array(
|
|
'name' => t('Drupal HTTP request'),
|
|
'description' => t("Performs tests on Drupal's HTTP request mechanism."),
|
|
'group' => t('System')
|
|
);
|
|
}
|
|
|
|
function testDrupalHTTPRequest() {
|
|
$missing_scheme = drupal_http_request('example.com/path');
|
|
$this->assertEqual($missing_scheme->error, 'missing schema', t('Returned with missing scheme error.'));
|
|
|
|
$unable_to_parse = drupal_http_request('http:///path');
|
|
$this->assertEqual($unable_to_parse->error, 'unable to parse URL', t('Returned with unable to parse URL error.'));
|
|
}
|
|
}
|