| Index: third_party/sqlite/sqlite-src-3080704/test/fts3snippet.test
|
| diff --git a/third_party/sqlite/src/test/fts3snippet.test b/third_party/sqlite/sqlite-src-3080704/test/fts3snippet.test
|
| similarity index 91%
|
| copy from third_party/sqlite/src/test/fts3snippet.test
|
| copy to third_party/sqlite/sqlite-src-3080704/test/fts3snippet.test
|
| index 6df2e08db03416041eb7a33233e430f8a1e55de2..415251dcced746f95079689bd1085b513782f34b 100644
|
| --- a/third_party/sqlite/src/test/fts3snippet.test
|
| +++ b/third_party/sqlite/sqlite-src-3080704/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
|
|
|