| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | <?phpclass ContextUnitTest extends DrupalWebTestCase {  protected $profile = 'testing';  public static function getInfo() {    return array(      'name' => 'API unit tests',      'description' => 'Sets all possible context types and checks for integrity.',      'group' => 'Context',    );  }  public function setUp() {    parent::setUp('context');  }  public function test() {    // define possible data types    $set_types = array(      'bool'    => TRUE,      'int'     => 1,      'string'  => 'lorem',      'array'   => array('lorem'),      'object'  => new stdClass(),    );    $id_types = array('int', 'string');    // NAMESPACE    foreach ($set_types as $type => $val) {      $set = context_set($val);      // Test return value of context_set()      if (in_array($type, $id_types)) {        // test set integrity        $this->assertIdentical(true, $set, 'Space set successful.');        // test get integrity        $this->assertIdentical(array(), context_get($val), 'Namespace get successful.');        $this->assertIdentical(true, context_exists($val), 'Namespace exists successful.');      }      else {        $this->assertIdentical(false, $set, 'Prohibited namespace not established.');      }      context_clear();    }    // NAMESPACE+ATTRIBUTE    foreach ($set_types as $type => $val) {      foreach ($set_types as $type2 => $val2) {        // test set integrity        $set = context_set($val, $val2);        if (in_array($type, $id_types)) {          // test set integrity          if ($type2 != 'bool') {            $this->assertIdentical(true, $set, 'Namespace and attribute set successful.');          }          else {            $this->assertIdentical(false, $set);          }          // test get + exists integrity          if (in_array($type2, $id_types)) {            $this->assertIdentical(true, (context_get($val, $val2) == $val2), 'Namespace and attribute get successful.');            $this->assertIdentical(true, context_exists($val, $val2), 'Namespace and attribute exists.');          }          elseif (in_array($type2, array('array', 'object'))) {            $this->assertIdentical(true, (context_get($val) == $val2), 'Namespace and attribute get successful.');            $this->assertIdentical(true, context_exists($val), 'Namespace and attribute exists.');          }        }      }      context_clear();    }    // NAMESPACE+ATTRIBUTE+VALUE, o lord    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), 'Namespace, attribute and value get successful.');              $this->assertIdentical(true, context_exists($val, $val2, $val3), 'Namespace, attribute and value exists.');            }          }          context_clear();        }      }    }  }}
 |