View source
<?php
class ContextGetTest extends DrupalTestCase {
function get_info() {
return array(
'name' => t('context_get(), context_isset() unit tests'),
'desc' => t('Sets all possible context types and checks for integrity.'),
'group' => 'Context Tests',
);
}
function setUp() {
$this
->drupalModuleEnable('context');
}
function testContextGet() {
$set_types = array(
'bool' => true,
'int' => 1,
'string' => 'lorem',
'array' => array(
'lorem',
),
'object' => new StdClass(),
);
$id_types = array(
'int',
'string',
);
foreach ($set_types as $type => $val) {
$set = context_set($val);
if (in_array($type, $id_types)) {
$this
->assertIdentical(true, $set);
$this
->assertIdentical(array(), context_get($val));
$this
->assertIdentical(true, context_isset($val));
}
else {
$this
->assertIdentical(false, $set);
}
context_clear();
}
foreach ($set_types as $type => $val) {
foreach ($set_types as $type2 => $val2) {
$set = context_set($val, $val2);
if (in_array($type, $id_types)) {
if ($type2 != 'bool') {
$this
->assertIdentical(true, $set);
}
else {
$this
->assertIdentical(false, $set);
}
if (in_array($type2, $id_types)) {
$this
->assertIdentical(true, context_get($val, $val2) == $val2);
$this
->assertIdentical(true, context_isset($val, $val2));
}
else {
if (in_array($type2, array(
'array',
'object',
))) {
$this
->assertIdentical(true, context_get($val) == $val2);
$this
->assertIdentical(true, context_isset($val));
}
}
}
}
context_clear();
}
foreach ($set_types as $type => $val) {
foreach ($set_types as $type2 => $val2) {
foreach ($set_types as $type3 => $val3) {
$set = context_set($val, $val2, $val3);
if (in_array($type, $id_types)) {
if (in_array($type2, $id_types)) {
$this
->assertIdentical(true, context_get($val, $val2, $val3) == $val3);
$this
->assertIdentical(true, context_isset($val, $val2, $val3));
}
}
context_clear();
}
}
}
}
}