Commit 627bb14f authored by Tres Seaver's avatar Tres Seaver

Flesh out tests for PLexicon.queryLexicon.

parent 0c14ff7d
...@@ -384,7 +384,9 @@ class PLexicon(Lexicon, Implicit, SimpleItem): ...@@ -384,7 +384,9 @@ class PLexicon(Lexicon, Implicit, SimpleItem):
columns.append(words[i:i + rows]) columns.append(words[i:i + rows])
i += rows i += rows
return self._queryLexicon(self, REQUEST, if REQUEST is not None:
return self._queryLexicon(self,
REQUEST,
page=page, page=page,
rows=rows, rows=rows,
cols=cols, cols=cols,
...@@ -394,6 +396,15 @@ class PLexicon(Lexicon, Implicit, SimpleItem): ...@@ -394,6 +396,15 @@ class PLexicon(Lexicon, Implicit, SimpleItem):
page_count=page_count, page_count=page_count,
page_range=xrange(page_count), page_range=xrange(page_count),
page_columns=columns) page_columns=columns)
return dict(page=page,
rows=rows,
cols=cols,
start_word=start+1,
end_word=end,
word_count=word_count,
page_count=page_count,
page_range=xrange(page_count),
page_columns=columns)
security.declareProtected(LexiconMgmtPerm, 'manage_main') security.declareProtected(LexiconMgmtPerm, 'manage_main')
manage_main = DTMLFile('dtml/manageLexicon', globals()) manage_main = DTMLFile('dtml/manageLexicon', globals())
......
...@@ -245,6 +245,7 @@ class ZCIndexTestsBase: ...@@ -245,6 +245,7 @@ class ZCIndexTestsBase:
nbest, total = self.zc_index.query(w) nbest, total = self.zc_index.query(w)
self.assertEqual(total, 0, "did not expect to find %s" % w) self.assertEqual(total, 0, "did not expect to find %s" % w)
class CosineIndexTests(ZCIndexTestsBase, testIndex.CosineIndexTest): class CosineIndexTests(ZCIndexTestsBase, testIndex.CosineIndexTest):
# A fairly involved test of the ranking calculations based on # A fairly involved test of the ranking calculations based on
...@@ -566,13 +567,44 @@ class OkapiQueryTests(QueryTestsBase): ...@@ -566,13 +567,44 @@ class OkapiQueryTests(QueryTestsBase):
class PLexiconTests(unittest.TestCase): class PLexiconTests(unittest.TestCase):
def test_z3interfaces(self): def _getTargetClass(self):
from Products.ZCTextIndex.ZCTextIndex import PLexicon
return PLexicon
def _makeOne(self, id='testing', title='Testing', *pipeline):
return self._getTargetClass()(id, title, *pipeline)
def test_class_conforms_to_ILexicon(self):
from Products.ZCTextIndex.interfaces import ILexicon from Products.ZCTextIndex.interfaces import ILexicon
from zope.interface.verify import verifyClass
verifyClass(ILexicon, self._getTargetClass())
def test_instance_conforms_to_ILexicon(self):
from Products.ZCTextIndex.interfaces import ILexicon
from zope.interface.verify import verifyObject
verifyObject(ILexicon, self._makeOne())
def test_class_conforms_to_IZCLexicon(self):
from Products.ZCTextIndex.interfaces import IZCLexicon from Products.ZCTextIndex.interfaces import IZCLexicon
from zope.interface.verify import verifyClass from zope.interface.verify import verifyClass
verifyClass(IZCLexicon, self._getTargetClass())
verifyClass(ILexicon, PLexicon) def test_instance_conforms_to_IZCLexicon(self):
verifyClass(IZCLexicon, PLexicon) from Products.ZCTextIndex.interfaces import IZCLexicon
from zope.interface.verify import verifyObject
verifyObject(IZCLexicon, self._makeOne())
def test_queryLexicon_defaults(self):
index = self._makeOne()
info = index.queryLexicon(REQUEST=None, words=None)
self.assertEqual(info['page'], 0)
self.assertEqual(info['rows'], 20)
self.assertEqual(info['cols'], 4)
self.assertEqual(info['start_word'], 1)
self.assertEqual(info['end_word'], 0)
self.assertEqual(info['word_count'], 0)
self.assertEqual(list(info['page_range']), [])
self.assertEqual(info['page_columns'], [])
def test_suite(): def test_suite():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment