Exemple #1
0
 def test_bad_offset(self):
     msgt('offset beyond # of hits, should revert to page 1')
     kwargs = dict(num_pager_buttons=5)
     p = DisplayPager(num_hits=70, items_per_page=10, result_start_offset=71, **kwargs)
     msg(p.get_page_menu_with_chosen())
     self.assertEqual(p.page_count, 7)
     self.assertEqual(p.current_page, 1)
     self.assertEqual(p.get_page_menu_with_chosen(), ['<em>1</em>', 2, 3, 4, 5])        
Exemple #2
0
    def test_four_buttons(self):
        msgt('test_four_buttons')

        kwargs = dict(num_pager_buttons=4)
        p = DisplayPager(num_hits=12, items_per_page=3, result_start_offset=5, **kwargs)
        msg(p.get_page_menu_with_chosen())
        self.assertEqual(p.page_count, 4)
        self.assertEqual(p.current_page, 2)
        self.assertEqual(p.get_page_menu_with_chosen(), [1, '<em>2</em>', 3, 4])        
Exemple #3
0
    def test_two_pages(self):
        msgt('test_two_pages')

        kwargs = dict(num_pager_buttons=5)
        p = DisplayPager(num_hits=12, items_per_page=10, result_start_offset=0, **kwargs)
        msg(p.get_page_menu_with_chosen())
        self.assertEqual(p.page_count, 2)
        self.assertEqual(p.current_page, 1)
        self.assertEqual(p.get_page_menu_with_chosen(), ['<em>1</em>', 2])        
Exemple #4
0
    def test_zero_pages(self):
        msgt('test_page2')

        kwargs = dict(num_pager_buttons=5)
        p = DisplayPager(num_hits=1, items_per_page=10, result_start_offset=0, **kwargs)
        msg(p.get_page_menu_with_chosen())
        self.assertEqual(p.page_count, 0)
        self.assertEqual(p.current_page, 0)
        self.assertEqual(p.get_page_menu_with_chosen(), None)        
Exemple #5
0
    def test_page2(self):
        msgt('test_page2')

        kwargs = dict(num_pager_buttons=5)
        p = DisplayPager(num_hits=116, items_per_page=10, result_start_offset=12, **kwargs)
        msg(p.get_page_menu_with_chosen())
        self.assertEqual(p.page_count, 12)
        self.assertEqual(p.current_page, 2)
        self.assertEqual(p.get_page_menu_with_chosen(), [1, '<em>2</em>', 3, 4, 5])        
Exemple #6
0
 def test_left_fillin(self):
     msgt('test_left_fillin')
     
     kwargs = dict(num_pager_buttons=5)
     p = DisplayPager(num_hits=126, items_per_page=5, result_start_offset=125, **kwargs)
     msg(p.get_page_menu_with_chosen())
     self.assertEqual(p.page_count, 26)
     self.assertEqual(p.current_page, 26)
     self.assertEqual(p.get_page_menu_with_chosen(), [22, 23, 24, 25, '<em>26</em>'])        
Exemple #7
0
    def test_calculation_for_current_page(self):
        """
        Tests that 1 + 1 always equals 2.
        """
        msgt('Test calculation for current page ')

        p = DisplayPager(num_hits=26, items_per_page=5, result_start_offset=21)
        #p.show()
        msg('should be 6 pages')
        self.assertEqual(p.page_count, 6)

        msg('current page should be 5')
        self.assertEqual(p.current_page, 5)

        p = DisplayPager(num_hits=0, items_per_page=5, result_start_offset=0)
        #p.show()
        msg('should be 0 pages')
        self.assertEqual(p.page_count, 0)

        msg('current page should be 0')
        self.assertEqual(p.current_page, 0)
Exemple #8
0
    def __init__(self, results, num_display_rows, result_start_offset=0):
        if type(results) is not PySolrResults:
            raise TypeError('Expected pysolr.Results object.  Received: [%s]' %
                            type(results))
        #print (results.docs)

        # already set
        self.result_start_offset = result_start_offset
        self.num_display_rows = num_display_rows

        # items to calculate from the results
        self.num_results = 0
        self.docs = []
        self.hit_count = results.hits
        self.highlights_dict = {}  # { entityid: {} }
        self.facet_groups = {}  # { name : FacetGroup }

        # process the results
        self.process_results(results)

        # prepare the pager
        self.display_pager = DisplayPager(self.hit_count,
                                          self.num_display_rows,
                                          result_start_offset)