[Zope-Checkins] CVS: Products/ZCTextIndex/tests - testZCTextIndex.py:1.37.2.2

Andreas Jung andreas at andreas-jung.com
Tue May 17 14:11:11 EDT 2005


Update of /cvs-repository/Products/ZCTextIndex/tests
In directory cvs.zope.org:/tmp/cvs-serv31115/lib/python/Products/ZCTextIndex/tests

Modified Files:
      Tag: Zope-2_7-branch
	testZCTextIndex.py 
Log Message:

      - Collector #1784: fixed handling of multiple attributes in ZCTextIndex


=== Products/ZCTextIndex/tests/testZCTextIndex.py 1.37.2.1 => 1.37.2.2 ===
--- Products/ZCTextIndex/tests/testZCTextIndex.py:1.37.2.1	Mon Nov 17 17:34:12 2003
+++ Products/ZCTextIndex/tests/testZCTextIndex.py	Tue May 17 14:10:41 2005
@@ -39,6 +39,11 @@
     def __init__(self, text):
         self.text = text
 
+class Indexable2:
+    def __init__(self, text1, text2):
+        self.text1 = text1
+        self.text2 = text2
+
 class LexiconHolder(Acquisition.Implicit):
     def __init__(self, lexicon):
         self.lexicon = lexicon
@@ -115,6 +120,7 @@
                                     'lexicon')
         self.index = self.zc_index.index
 
+
     def parserFailure(self, query):
         self.assertRaises(ParseError, self.zc_index.query, query)
 
@@ -123,6 +129,27 @@
         self.assertEqual(num, n)
         if n:
             self.assertEqual(r[0][0], 1)
+
+    def testMultipleAttributes(self):
+        lexicon = PLexicon('lexicon', '',
+                            Splitter(),
+                            CaseNormalizer(),
+                            StopWordRemover())
+        caller = LexiconHolder(self.lexicon)
+        zc_index = ZCTextIndex('name',
+                                None,
+                                caller,
+                                self.IndexFactory,
+                               'text1,text2',
+                               'lexicon')
+        doc = Indexable2('foo bar', 'alpha omega')
+        zc_index.index_object(1, doc)
+        nbest, total = zc_index.query('foo')
+        self.assertEqual(len(nbest), 1)
+        nbest, total = zc_index.query('foo alpha')
+        self.assertEqual(len(nbest), 1)
+        nbest, total = zc_index.query('foo alpha gamma')
+        self.assertEqual(len(nbest), 0)
 
     def testStopWords(self):
         # the only non-stopword is question



More information about the Zope-Checkins mailing list