Snapshot of upstream SQLite 3.15.2
[sqlcipher.git] / ext / fts5 / test / fts5colset.test
blobe3333241ee05aff70cdd855d1105e0100169ca0e
1 # 2016 August 10
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
6 #    May you do good and not evil.
7 #    May you find forgiveness for yourself and forgive others.
8 #    May you share freely, never taking more than you give.
10 #*************************************************************************
11 # This file implements regression tests for SQLite library.  The
12 # focus of this script is testing the FTS5 module.
15 source [file join [file dirname [info script]] fts5_common.tcl]
16 set testprefix fts5colset
18 # If SQLITE_ENABLE_FTS5 is not defined, omit this file.
19 ifcapable !fts5 {
20   finish_test
21   return
24 foreach_detail_mode $::testprefix {
25   if {[detail_is_none]} continue
27   do_execsql_test 1.0 {
28     CREATE VIRTUAL TABLE t1 USING fts5(a, b, c, d, detail=%DETAIL%);
29     INSERT INTO t1 VALUES('a', 'b', 'c', 'd');  -- 1
30     INSERT INTO t1 VALUES('d', 'a', 'b', 'c');  -- 2
31     INSERT INTO t1 VALUES('c', 'd', 'a', 'b');  -- 3
32     INSERT INTO t1 VALUES('b', 'c', 'd', 'a');  -- 4
33   }
35   foreach {tn q res} {
36     1 "a"          {1 2 3 4}
37     2 "{a}   : a"  {1}
38     3 "-{a}   : a" {2 3 4}
39     4 "- {a c} : a" {2 4}
40     5 " - {d d c} : a" {1 2}
41     6 "- {d c b a} : a" {}
42     7 "-{\"a\"} : b" {1 2 3}
43     8 "- c : a" {1 2 4}
44     9 "-c : a"  {1 2 4}
45     10 "-\"c\" : a"  {1 2 4}
46   } {
47   breakpoint
48     do_execsql_test 1.$tn {
49       SELECT rowid FROM t1($q)
50     } $res
51   }
57 finish_test