| Index: third_party/sqlite/src/test/fts3snippet.test | 
| diff --git a/third_party/sqlite/src/test/fts3snippet.test b/third_party/sqlite/src/test/fts3snippet.test | 
| index 6df2e08db03416041eb7a33233e430f8a1e55de2..415251dcced746f95079689bd1085b513782f34b 100644 | 
| --- a/third_party/sqlite/src/test/fts3snippet.test | 
| +++ b/third_party/sqlite/src/test/fts3snippet.test | 
| @@ -16,6 +16,7 @@ | 
|  | 
| set testdir [file dirname $argv0] | 
| source $testdir/tester.tcl | 
| +set testprefix fts3snippet | 
|  | 
| # If SQLITE_ENABLE_FTS3 is not defined, omit this file. | 
| ifcapable !fts3 { finish_test ; return } | 
| @@ -131,14 +132,14 @@ foreach {DO_MALLOC_TEST enc} { | 
| } { | 
|  | 
| db close | 
| -  file delete -force test.db | 
| +  forcedelete test.db | 
| sqlite3 db test.db | 
| sqlite3_db_config_lookaside db 0 0 0 | 
| db eval "PRAGMA encoding = \"$enc\"" | 
|  | 
| # Set variable $T to the test name prefix for this iteration of the loop. | 
| # | 
| -  set T "fts3snippet-$enc" | 
| +  set T "fts3snippet-1.$enc" | 
|  | 
| ########################################################################## | 
| # Test the offset function. | 
| @@ -459,5 +460,65 @@ foreach {DO_MALLOC_TEST enc} { | 
| } {0 blob} | 
| } | 
|  | 
| +#------------------------------------------------------------------------- | 
| +# Test an interaction between the snippet() function and OR clauses. | 
| +# | 
| +do_execsql_test 2.1 { | 
| +  CREATE VIRTUAL TABLE t2 USING fts4; | 
| +  INSERT INTO t2 VALUES('one two three four five'); | 
| +  INSERT INTO t2 VALUES('two three four five one'); | 
| +  INSERT INTO t2 VALUES('three four five one two'); | 
| +  INSERT INTO t2 VALUES('four five one two three'); | 
| +  INSERT INTO t2 VALUES('five one two three four'); | 
| +} | 
| + | 
| +do_execsql_test 2.2 { | 
| +  SELECT snippet(t2, '[', ']') FROM t2 WHERE t2 MATCH 'one OR (four AND six)' | 
| +} { | 
| +  {[one] two three [four] five} | 
| +  {two three [four] five [one]} | 
| +  {three [four] five [one] two} | 
| +  {[four] five [one] two three} | 
| +  {five [one] two three [four]} | 
| +} | 
| + | 
| +do_execsql_test 2.3 { | 
| +  SELECT snippet(t2, '[', ']') FROM t2 | 
| +  WHERE t2 MATCH 'one OR (four AND six)' | 
| +  ORDER BY docid DESC | 
| +} { | 
| +  {five [one] two three [four]} | 
| +  {[four] five [one] two three} | 
| +  {three [four] five [one] two} | 
| +  {two three [four] five [one]} | 
| +  {[one] two three [four] five} | 
| +} | 
| + | 
| +do_execsql_test 2.4 { | 
| +  INSERT INTO t2 VALUES('six'); | 
| +} | 
| + | 
| +do_execsql_test 2.5 { | 
| +  SELECT snippet(t2, '[', ']') FROM t2 WHERE t2 MATCH 'one OR (four AND six)' | 
| +} { | 
| +  {[one] two three [four] five} | 
| +  {two three [four] five [one]} | 
| +  {three [four] five [one] two} | 
| +  {[four] five [one] two three} | 
| +  {five [one] two three [four]} | 
| +} | 
| + | 
| +do_execsql_test 2.6 { | 
| +  SELECT snippet(t2, '[', ']') FROM t2 | 
| +  WHERE t2 MATCH 'one OR (four AND six)' | 
| +  ORDER BY docid DESC | 
| +} { | 
| +  {five [one] two three [four]} | 
| +  {[four] five [one] two three} | 
| +  {three [four] five [one] two} | 
| +  {two three [four] five [one]} | 
| +  {[one] two three [four] five} | 
| +} | 
| + | 
| set sqlite_fts3_enable_parentheses 0 | 
| finish_test | 
|  |