summaryrefslogtreecommitdiff
path: root/sites/all/modules/views/tests/views_glossary.test
diff options
context:
space:
mode:
Diffstat (limited to 'sites/all/modules/views/tests/views_glossary.test')
-rw-r--r--sites/all/modules/views/tests/views_glossary.test60
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);
+ }
+ }
+}