소스 검색

adding unit tests to cover badge's option

Ferry Jérémie 8 년 전
부모
커밋
b5aaca7a68
4개의 변경된 파일62개의 추가작업 그리고 28개의 파일을 삭제
  1. 5 0
      tag_cloud/test_data/article_3.md
  2. 5 0
      tag_cloud/test_data/article_4.md
  3. 5 0
      tag_cloud/test_data/article_5.md
  4. 47 28
      tag_cloud/test_tag_cloud.py

+ 5 - 0
tag_cloud/test_data/article_3.md

@@ -0,0 +1,5 @@
+Title: Article3
+tags: pelican, plugins
+
+content3, yeah!
+

+ 5 - 0
tag_cloud/test_data/article_4.md

@@ -0,0 +1,5 @@
+Title: Article4
+tags: pelican, fun
+
+content4, yeah!
+

+ 5 - 0
tag_cloud/test_data/article_5.md

@@ -0,0 +1,5 @@
+Title: Article5
+tags: plugins, pelican, fun
+
+content5, yeah!
+

+ 47 - 28
tag_cloud/test_tag_cloud.py

@@ -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__":