diff options
Diffstat (limited to 'sites/all/modules/views/tests/views_glossary.test')
-rw-r--r-- | sites/all/modules/views/tests/views_glossary.test | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/sites/all/modules/views/tests/views_glossary.test b/sites/all/modules/views/tests/views_glossary.test new file mode 100644 index 000000000..0fe0fbae6 --- /dev/null +++ b/sites/all/modules/views/tests/views_glossary.test @@ -0,0 +1,60 @@ +<?php + +/** + * @file + * Definition of ViewsGlossaryTestCase. + */ + +/** + * Tests glossary view ( summary of arguments ). + */ +class ViewsGlossaryTestCase extends ViewsSqlTest { + public static function getInfo() { + return array( + 'name' => 'Glossary Test', + 'description' => 'Tests glossary functionality of views.', + 'group' => 'Views', + ); + } + + public function setUp() { + parent::setUp('views'); + } + + /** + * Tests the default glossary view. + */ + public function testGlossaryView() { + // create a contentype and add some nodes, with a non random title. + $type = $this->drupalCreateContentType(); + $nodes_per_char = array( + 'd' => 1, + 'r' => 4, + 'u' => 10, + 'p' => 2, + 'a' => 3, + 'l' => 6, + ); + foreach ($nodes_per_char as $char => $count) { + $setting = array( + 'type' => $type->type + ); + for ($i = 0; $i < $count; $i++) { + $node = $setting; + $node['title'] = $char . $this->randomString(3); + $this->drupalCreateNode($node); + } + } + + // Execute glossary view + $view = views_get_view('glossary'); + $view->set_display('attachment'); + $view->execute_display('attachment'); + + // Check that the amount of nodes per char. + $result_nodes_per_char = array(); + foreach ($view->result as $item) { + $this->assertEqual($nodes_per_char[$item->title_truncated], $item->num_records); + } + } +} |