diff --git a/context.info b/context.info new file mode 100644 index 0000000000000000000000000000000000000000..0585533ad63e946ac926a6d7067b1da7a1f837a9 --- /dev/null +++ b/context.info @@ -0,0 +1,5 @@ +; $Id$ +name = Context +description = "Provide modules with a cache that lasts for a single page request." +package = Context +core = "6.x" \ No newline at end of file diff --git a/context_ui/context_ui.info b/context_ui/context_ui.info new file mode 100644 index 0000000000000000000000000000000000000000..0a378e1a1aa0817494381cfd207b8fa8c035d2f5 --- /dev/null +++ b/context_ui/context_ui.info @@ -0,0 +1,6 @@ +; $Id$ +name = Context UI +description = "Provides a simple UI for settings up a site structure using Context." +dependencies[] = context +package = Context +core = "6.x" \ No newline at end of file diff --git a/context_ui/tests/context_ui.test b/context_ui/tests/context_ui.test new file mode 100644 index 0000000000000000000000000000000000000000..5f944c95aee3a96f4f665e86734a863da71a9cfd --- /dev/null +++ b/context_ui/tests/context_ui.test @@ -0,0 +1,51 @@ + t('Context UI functional tests'), + 'description' => t('Create and save a context.') , + 'group' => t('Context UI'), + ); + } + + function setUp() { + parent::setUp('context', 'context_ui'); + + // Create and login user + $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer blocks', 'access content', 'create page content')); + $this->drupalLogin($admin_user); + } + + function tearDown() { + parent::tearDown(); + } + + function testCreateContext() { + // Create context + $context = new stdClass(); + $context->namespace = strtolower($this->randomName(15)); + $context->attribute = strtolower($this->randomName(15)); + $context->value = strtolower($this->randomName(15)); + $this->context = $context; + + $edit = array( + 'namespace' => $context->namespace, + 'attribute' => $context->attribute, + 'value' => $context->value, + 'items[node][page]' => 'page', + 'items[menu]' => 'node/add/page', + ); + $this->drupalPost('admin/build/context/add', $edit, 'Save'); + $this->assertRaw(t('The context %title was saved successfully.', array('%title' => $edit['value'])), 'Context saved.'); + + } +} diff --git a/tests/context.test b/tests/context.test new file mode 100644 index 0000000000000000000000000000000000000000..c1638ce7271b74a9ab80765c4d208bbcf19c3789 --- /dev/null +++ b/tests/context.test @@ -0,0 +1,95 @@ + t('context_get(), context_exists() unit tests'), + 'description' => t('Sets all possible context types and checks for integrity.') , + 'group' => t('Context'), + ); + } + + function setUp() { + return; + } + + function tearDown() { + return; + } + + function testContextGet() { + // 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.'); + } + else if (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(); + } + } + } + } +}