|
@@ -1,4 +1,5 @@
|
|
|
-import unittest, os, sys
|
|
|
+import unittest
|
|
|
+import os
|
|
|
import six
|
|
|
import tag_cloud
|
|
|
|
|
@@ -9,6 +10,7 @@ from pelican.urlwrappers import Tag
|
|
|
CUR_DIR = os.path.dirname(__file__)
|
|
|
CONTENT_DIR = os.path.join(CUR_DIR, 'test_data')
|
|
|
|
|
|
+
|
|
|
class TestTagCloudGeneration(unittest.TestCase):
|
|
|
|
|
|
@classmethod
|
|
@@ -25,59 +27,76 @@ class TestTagCloudGeneration(unittest.TestCase):
|
|
|
path=CONTENT_DIR, theme=cls._settings['THEME'], output_path=None)
|
|
|
cls.generator.generate_context()
|
|
|
|
|
|
-
|
|
|
def test_tag_cloud_random(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
+ self.generator.settings['TAG_CLOUD_BADGE'] = False
|
|
|
tag_cloud.generate_tag_cloud(self.generator)
|
|
|
expected = [
|
|
|
- (Tag('plugins', self._settings), 1),
|
|
|
- (Tag('fun', self._settings), 4),
|
|
|
- (Tag('python', self._settings), 4),
|
|
|
- (Tag('pelican', self._settings), 1)
|
|
|
- ]
|
|
|
+ (Tag('pelican', self._settings), 1),
|
|
|
+ (Tag('plugins', self._settings), 2),
|
|
|
+ (Tag('fun', self._settings), 3),
|
|
|
+ (Tag('python', self._settings), 10)
|
|
|
+ ]
|
|
|
+ six.assertCountEqual(self, self.generator.tag_cloud, expected)
|
|
|
+
|
|
|
+ def test_tag_cloud_badge(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
+ self.generator.settings['TAG_CLOUD_BADGE'] = True
|
|
|
+ tag_cloud.generate_tag_cloud(self.generator)
|
|
|
+ expected = [
|
|
|
+ (Tag('pelican', self._settings), 1, 5),
|
|
|
+ (Tag('plugins', self._settings), 2, 4),
|
|
|
+ (Tag('fun', self._settings), 3, 3),
|
|
|
+ (Tag('python', self._settings), 10, 1)
|
|
|
+ ]
|
|
|
six.assertCountEqual(self, self.generator.tag_cloud, expected)
|
|
|
|
|
|
def test_tag_cloud_alphabetical(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
self.generator.settings['TAG_CLOUD_SORTING'] = 'alphabetically'
|
|
|
tag_cloud.generate_tag_cloud(self.generator)
|
|
|
expected = [
|
|
|
- (Tag('fun', self._settings), 4),
|
|
|
- (Tag('pelican', self._settings), 1),
|
|
|
- (Tag('plugins', self._settings), 1),
|
|
|
- (Tag('python', self._settings), 4)
|
|
|
- ]
|
|
|
+ (Tag('fun', self._settings), 3),
|
|
|
+ (Tag('pelican', self._settings), 1),
|
|
|
+ (Tag('plugins', self._settings), 2),
|
|
|
+ (Tag('python', self._settings), 10)
|
|
|
+ ]
|
|
|
self.assertEqual(self.generator.tag_cloud, expected)
|
|
|
-
|
|
|
+
|
|
|
def test_tag_cloud_alphabetical_rev(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
self.generator.settings['TAG_CLOUD_SORTING'] = 'alphabetically-rev'
|
|
|
tag_cloud.generate_tag_cloud(self.generator)
|
|
|
expected = [
|
|
|
- (Tag('python', self._settings), 4),
|
|
|
- (Tag('plugins', self._settings), 1),
|
|
|
- (Tag('pelican', self._settings), 1),
|
|
|
- (Tag('fun', self._settings), 4)
|
|
|
- ]
|
|
|
+ (Tag('python', self._settings), 10),
|
|
|
+ (Tag('plugins', self._settings), 2),
|
|
|
+ (Tag('pelican', self._settings), 1),
|
|
|
+ (Tag('fun', self._settings), 3)
|
|
|
+ ]
|
|
|
self.assertEqual(self.generator.tag_cloud, expected)
|
|
|
|
|
|
def test_tag_cloud_size(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
self.generator.settings['TAG_CLOUD_SORTING'] = 'size'
|
|
|
tag_cloud.generate_tag_cloud(self.generator)
|
|
|
expected = [
|
|
|
- (Tag('pelican', self._settings), 1),
|
|
|
- (Tag('plugins', self._settings), 1),
|
|
|
- (Tag('fun', self._settings), 4),
|
|
|
- (Tag('python', self._settings), 4)
|
|
|
- ]
|
|
|
+ (Tag('pelican', self._settings), 1),
|
|
|
+ (Tag('plugins', self._settings), 2),
|
|
|
+ (Tag('fun', self._settings), 3),
|
|
|
+ (Tag('python', self._settings), 10)
|
|
|
+ ]
|
|
|
self.assertEqual(self.generator.tag_cloud, expected)
|
|
|
|
|
|
def test_tag_cloud_size_rev(self):
|
|
|
+ self.generator.settings['TAG_CLOUD_STEPS'] = 10
|
|
|
self.generator.settings['TAG_CLOUD_SORTING'] = 'size-rev'
|
|
|
tag_cloud.generate_tag_cloud(self.generator)
|
|
|
expected = [
|
|
|
- (Tag('fun', self._settings), 4),
|
|
|
- (Tag('python', self._settings), 4),
|
|
|
- (Tag('pelican', self._settings), 1),
|
|
|
- (Tag('plugins', self._settings), 1)
|
|
|
- ]
|
|
|
+ (Tag('python', self._settings), 10),
|
|
|
+ (Tag('fun', self._settings), 3),
|
|
|
+ (Tag('plugins', self._settings), 2),
|
|
|
+ (Tag('pelican', self._settings), 1)
|
|
|
+ ]
|
|
|
self.assertEqual(self.generator.tag_cloud, expected)
|
|
|
|
|
|
if __name__ == "__main__":
|