kelvint     2004/05/17 04:56:17

  Modified:    contributions/javascript/queryValidator
                        testQueryValidator.html
  Log:
  Implemented tests for checkAllowedCharacters and checkANDORNOT.
  Imported a whole bunch of tests from TestQueryParser.java.
  Except for the term1 !term2 queries (which are commented out for now), all tests go 
green!!
  Woohoo!!
  
  Revision  Changes    Path
  1.3       +148 -4    
jakarta-lucene-sandbox/contributions/javascript/queryValidator/testQueryValidator.html
  
  Index: testQueryValidator.html
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene-sandbox/contributions/javascript/queryValidator/testQueryValidator.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- testQueryValidator.html   26 Mar 2004 07:43:10 -0000      1.2
  +++ testQueryValidator.html   17 May 2004 11:56:17 -0000      1.3
  @@ -1,13 +1,13 @@
   <html>
   
   <head>
  -<script language="JavaScript" src="f:/jsunit/app/jsUnitCore.js"></script>
  +<script language="JavaScript" src="c:/market/jsunit/app/jsUnitCore.js"></script>
   <script language="JavaScript" src="luceneQueryValidator.js"></script>
   </head>
   <body>
   <script>
   setAlertUser(false);
  -
  +testCheckParentheses()
   // additions to jsUnit
   function assertTrue(comment, value)
   {
  @@ -31,7 +31,90 @@
   
   function testCheckAllowedCharacters()
   {
  -fail("");
  +  var query ="a-zA-Z0-9_+\-:.()\"*?&|[EMAIL PROTECTED]/$%'= ";
  +  assertTrue(query, checkAllowedCharacters(query));
  +  
  +  query = "foobar";
  +  assertFalse(query, checkAllowedCharacters(query));
  +}
  +
  +function testQueryParser()
  +{
  +  // taken from TestQueryParser.java
  +  query = "a AND b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "(a AND b)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+a +b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "c OR (a AND b)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "c (+a +b)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a AND NOT b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+a -b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a AND -b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  //query = "a AND !b"; 
  +  //assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a && b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  //query = "a && ! b";
  +  //assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a OR b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a || b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  //query = "a OR !b";
  +  //assertTrue(query, doCheckLuceneQueryValue(query));
  +  //query = "a OR ! b";
  +  //assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "a OR -b";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+term -term term";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "foo:term AND field:anotherTerm";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "term AND \"phrase phrase\"";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "\"hello there\"";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "germ term^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "(term)^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "term^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "(germ term)^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "term^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "term^2";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "\"germ term\"^2.0";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "\"term germ\"^2";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "(foo OR bar) AND (baz OR boo)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+(foo bar) +(baz boo)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "((a OR b) AND NOT c) OR d";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "(+(a b) -c) d";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+(apple \"steve jobs\") -(foo bar baz)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+(apple \"steve jobs\") -(foo bar baz)";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+title:(dog OR cat) -author:\"bob dole\"";
  +  assertTrue(query, doCheckLuceneQueryValue(query));
  +  query = "+(title:dog title:cat) -author:\"bob dole\"";    
  +  assertTrue(query, doCheckLuceneQueryValue(query));
   }
   
   function testCheckAsterisk()
  @@ -93,6 +176,9 @@
     query = "foo && bar12isok";
     assertTrue(query, checkAmpersands(query));
   
  +  query = "foo && ! bar";
  +  assertTrue(query, checkAmpersands(query));
  +
     query = "bar12 &&";
     assertFalse(query, checkAmpersands(query));
     
  @@ -197,6 +283,12 @@
   
     query = "foo!";
     assertTrue(query, checkExclamationMark(query));
  +  
  +  query = "foo && ! bar";
  +  assertTrue(query, checkExclamationMark(query));  
  +
  +  query = "foo && !bar";
  +  assertTrue(query, checkExclamationMark(query));  
   
     query = "! bar";
     assertFalse(query, checkExclamationMark(query));
  @@ -359,7 +451,59 @@
   
   function testCheckANDORNOT()
   {
  -fail("");
  +  var query = "foo bar is ok";
  +  assertTrue(query, checkANDORNOT(query));
  +  
  +  query = "foo AND bar";
  +  assertTrue(query, checkANDORNOT(query));
  +  
  +  query = "foo OR bar";
  +  assertTrue(query, checkANDORNOT(query));
  +  
  +  query = "foo NOT bar";
  +  assertTrue(query, checkANDORNOT(query));
  +
  +  query = "foo AND NOT bar";
  +  assertTrue(query, checkANDORNOT(query));
  +
  +  query = "foo NOT bar -foobar";
  +  assertTrue(query, checkANDORNOT(query));
  +
  +  query = "foo AND bar dog AND NOT fox";
  +  assertTrue(query, checkANDORNOT(query));
  +
  +  query = "foo and";
  +  assertTrue(query, checkANDORNOT(query));
  +
  +  query = "and bar";
  +  assertTrue(query, checkANDORNOT(query)); 
  +
  +  query = "fooAND bar";
  +  assertTrue(query, checkANDORNOT(query)); 
  +
  +  query = "foo ANDbar";
  +  assertTrue(query, checkANDORNOT(query)); 
  +
  +  query = "AND bar";
  +  assertFalse(query, checkANDORNOT(query));
  +
  +  query = "OR bar";
  +  assertFalse(query, checkANDORNOT(query));  
  +
  +  query = "NOT bar";
  +  assertFalse(query, checkANDORNOT(query));  
  +
  +  query = "foo AND";
  +  assertFalse(query, checkANDORNOT(query));  
  +
  +  query = "foo AND "; // note the space
  +  assertFalse(query, checkANDORNOT(query));  
  +
  +  query = "AND AND";
  +  assertFalse(query, checkANDORNOT(query));
  +
  +  query = "AND";
  +  assertFalse(query, checkANDORNOT(query));
   }
   
   function testCheckQuotes()
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to