| Index: third_party/sqlite/sqlite-src-3100200/ext/fts5/test/fts5af.test
|
| diff --git a/third_party/sqlite/sqlite-src-3100200/ext/fts5/test/fts5af.test b/third_party/sqlite/sqlite-src-3100200/ext/fts5/test/fts5af.test
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8c50f84866f1c702ed3572bb9bbcf7a4a272347e
|
| --- /dev/null
|
| +++ b/third_party/sqlite/sqlite-src-3100200/ext/fts5/test/fts5af.test
|
| @@ -0,0 +1,144 @@
|
| +# 2014 June 17
|
| +#
|
| +# The author disclaims copyright to this source code. In place of
|
| +# a legal notice, here is a blessing:
|
| +#
|
| +# May you do good and not evil.
|
| +# May you find forgiveness for yourself and forgive others.
|
| +# May you share freely, never taking more than you give.
|
| +#
|
| +#*************************************************************************
|
| +# This file implements regression tests for SQLite library. The
|
| +# focus of this script is testing the FTS5 module.
|
| +#
|
| +# More specifically, the tests in this file focus on the built-in
|
| +# snippet() function.
|
| +#
|
| +
|
| +source [file join [file dirname [info script]] fts5_common.tcl]
|
| +set testprefix fts5af
|
| +
|
| +# If SQLITE_ENABLE_FTS5 is defined, omit this file.
|
| +ifcapable !fts5 {
|
| + finish_test
|
| + return
|
| +}
|
| +
|
| +
|
| +do_execsql_test 1.0 {
|
| + CREATE VIRTUAL TABLE t1 USING fts5(x, y);
|
| +}
|
| +
|
| +proc do_snippet_test {tn doc match res} {
|
| +
|
| + uplevel #0 [list set v1 $doc]
|
| + uplevel #0 [list set v2 $match]
|
| +
|
| + do_execsql_test $tn.1 {
|
| + DELETE FROM t1;
|
| + INSERT INTO t1 VALUES($v1, NULL);
|
| + SELECT snippet(t1, -1, '[', ']', '...', 7) FROM t1 WHERE t1 MATCH $v2;
|
| + } [list $res]
|
| +
|
| + do_execsql_test $tn.2 {
|
| + DELETE FROM t1;
|
| + INSERT INTO t1 VALUES(NULL, $v1);
|
| + SELECT snippet(t1, -1, '[', ']', '...', 7) FROM t1 WHERE t1 MATCH $v2;
|
| + } [list $res]
|
| +
|
| + do_execsql_test $tn.3 {
|
| + DELETE FROM t1;
|
| + INSERT INTO t1 VALUES($v1, NULL);
|
| + SELECT snippet(t1, -1, '[', ']', '...', 7) FROM t1 WHERE t1 MATCH $v2
|
| + ORDER BY rank DESC;
|
| + } [list $res]
|
| +
|
| +
|
| +}
|
| +
|
| +
|
| +foreach {tn doc res} {
|
| +
|
| + 1.1 {X o o o o o o} {[X] o o o o o o}
|
| + 1.2 {o X o o o o o} {o [X] o o o o o}
|
| + 1.3 {o o X o o o o} {o o [X] o o o o}
|
| + 1.4 {o o o X o o o} {o o o [X] o o o}
|
| + 1.5 {o o o o X o o} {o o o o [X] o o}
|
| + 1.6 {o o o o o X o} {o o o o o [X] o}
|
| + 1.7 {o o o o o o X} {o o o o o o [X]}
|
| +
|
| + 2.1 {X o o o o o o o} {[X] o o o o o o...}
|
| + 2.2 {o X o o o o o o} {o [X] o o o o o...}
|
| + 2.3 {o o X o o o o o} {o o [X] o o o o...}
|
| + 2.4 {o o o X o o o o} {o o o [X] o o o...}
|
| + 2.5 {o o o o X o o o} {...o o o [X] o o o}
|
| + 2.6 {o o o o o X o o} {...o o o o [X] o o}
|
| + 2.7 {o o o o o o X o} {...o o o o o [X] o}
|
| + 2.8 {o o o o o o o X} {...o o o o o o [X]}
|
| +
|
| + 3.1 {X o o o o o o o o} {[X] o o o o o o...}
|
| + 3.2 {o X o o o o o o o} {o [X] o o o o o...}
|
| + 3.3 {o o X o o o o o o} {o o [X] o o o o...}
|
| + 3.4 {o o o X o o o o o} {o o o [X] o o o...}
|
| + 3.5 {o o o o X o o o o} {...o o o [X] o o o...}
|
| + 3.6 {o o o o o X o o o} {...o o o [X] o o o}
|
| + 3.7 {o o o o o o X o o} {...o o o o [X] o o}
|
| + 3.8 {o o o o o o o X o} {...o o o o o [X] o}
|
| + 3.9 {o o o o o o o o X} {...o o o o o o [X]}
|
| +
|
| + 4.1 {X o o o o o X o o} {[X] o o o o o [X]...}
|
| + 4.2 {o X o o o o o X o} {...[X] o o o o o [X]...}
|
| + 4.3 {o o X o o o o o X} {...[X] o o o o o [X]}
|
| +
|
| + 5.1 {X o o o o X o o o} {[X] o o o o [X] o...}
|
| + 5.2 {o X o o o o X o o} {...[X] o o o o [X] o...}
|
| + 5.3 {o o X o o o o X o} {...[X] o o o o [X] o}
|
| + 5.4 {o o o X o o o o X} {...o [X] o o o o [X]}
|
| +
|
| + 6.1 {X o o o X o o o} {[X] o o o [X] o o...}
|
| + 6.2 {o X o o o X o o o} {o [X] o o o [X] o...}
|
| + 6.3 {o o X o o o X o o} {...o [X] o o o [X] o...}
|
| + 6.4 {o o o X o o o X o} {...o [X] o o o [X] o}
|
| + 6.5 {o o o o X o o o X} {...o o [X] o o o [X]}
|
| +
|
| + 7.1 {X o o X o o o o o} {[X] o o [X] o o o...}
|
| + 7.2 {o X o o X o o o o} {o [X] o o [X] o o...}
|
| + 7.3 {o o X o o X o o o} {...o [X] o o [X] o o...}
|
| + 7.4 {o o o X o o X o o} {...o [X] o o [X] o o}
|
| + 7.5 {o o o o X o o X o} {...o o [X] o o [X] o}
|
| + 7.6 {o o o o o X o o X} {...o o o [X] o o [X]}
|
| +} {
|
| + do_snippet_test 1.$tn $doc X $res
|
| +}
|
| +
|
| +foreach {tn doc res} {
|
| + 1.1 {X Y o o o o o} {[X Y] o o o o o}
|
| + 1.2 {o X Y o o o o} {o [X Y] o o o o}
|
| + 1.3 {o o X Y o o o} {o o [X Y] o o o}
|
| + 1.4 {o o o X Y o o} {o o o [X Y] o o}
|
| + 1.5 {o o o o X Y o} {o o o o [X Y] o}
|
| + 1.6 {o o o o o X Y} {o o o o o [X Y]}
|
| +
|
| + 2.1 {X Y o o o o o o} {[X Y] o o o o o...}
|
| + 2.2 {o X Y o o o o o} {o [X Y] o o o o...}
|
| + 2.3 {o o X Y o o o o} {o o [X Y] o o o...}
|
| + 2.4 {o o o X Y o o o} {...o o [X Y] o o o}
|
| + 2.5 {o o o o X Y o o} {...o o o [X Y] o o}
|
| + 2.6 {o o o o o X Y o} {...o o o o [X Y] o}
|
| + 2.7 {o o o o o o X Y} {...o o o o o [X Y]}
|
| +
|
| + 3.1 {X Y o o o o o o o} {[X Y] o o o o o...}
|
| + 3.2 {o X Y o o o o o o} {o [X Y] o o o o...}
|
| + 3.3 {o o X Y o o o o o} {o o [X Y] o o o...}
|
| + 3.4 {o o o X Y o o o o} {...o o [X Y] o o o...}
|
| + 3.5 {o o o o X Y o o o} {...o o [X Y] o o o}
|
| + 3.6 {o o o o o X Y o o} {...o o o [X Y] o o}
|
| + 3.7 {o o o o o o X Y o} {...o o o o [X Y] o}
|
| + 3.8 {o o o o o o o X Y} {...o o o o o [X Y]}
|
| +
|
| +} {
|
| + do_snippet_test 2.$tn $doc "X + Y" $res
|
| +}
|
| +
|
| +finish_test
|
| +
|
|
|