Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: third_party/sqlite/src/ext/fts5/test/fts5af.test

Issue 2751253002: [sql] Import SQLite 3.17.0. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 2014 June 17 1 # 2014 June 17
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #************************************************************************* 10 #*************************************************************************
11 # This file implements regression tests for SQLite library. The 11 # This file implements regression tests for SQLite library. The
12 # focus of this script is testing the FTS5 module. 12 # focus of this script is testing the FTS5 module.
13 # 13 #
14 # More specifically, the tests in this file focus on the built-in 14 # More specifically, the tests in this file focus on the built-in
15 # snippet() function. 15 # snippet() function.
16 # 16 #
17 17
18 source [file join [file dirname [info script]] fts5_common.tcl] 18 source [file join [file dirname [info script]] fts5_common.tcl]
19 set testprefix fts5af 19 set testprefix fts5af
20 20
21 # If SQLITE_ENABLE_FTS5 is defined, omit this file. 21 # If SQLITE_ENABLE_FTS5 is defined, omit this file.
22 ifcapable !fts5 { 22 ifcapable !fts5 {
23 finish_test 23 finish_test
24 return 24 return
25 } 25 }
26 26
27 foreach_detail_mode $testprefix {
27 28
28 do_execsql_test 1.0 { 29 do_execsql_test 1.0 {
29 CREATE VIRTUAL TABLE t1 USING fts5(x, y); 30 CREATE VIRTUAL TABLE t1 USING fts5(x, y, detail=%DETAIL%);
30 } 31 }
31 32
32 proc do_snippet_test {tn doc match res} { 33 proc do_snippet_test {tn doc match res} {
33 34
34 uplevel #0 [list set v1 $doc] 35 uplevel #0 [list set v1 $doc]
35 uplevel #0 [list set v2 $match] 36 uplevel #0 [list set v2 $match]
36 37
37 do_execsql_test $tn.1 { 38 do_execsql_test $tn.1 {
38 DELETE FROM t1; 39 DELETE FROM t1;
39 INSERT INTO t1 VALUES($v1, NULL); 40 INSERT INTO t1 VALUES($v1, NULL);
(...skipping 24 matching lines...) Expand all
64 1.3 {o o X o o o o} {o o [X] o o o o} 65 1.3 {o o X o o o o} {o o [X] o o o o}
65 1.4 {o o o X o o o} {o o o [X] o o o} 66 1.4 {o o o X o o o} {o o o [X] o o o}
66 1.5 {o o o o X o o} {o o o o [X] o o} 67 1.5 {o o o o X o o} {o o o o [X] o o}
67 1.6 {o o o o o X o} {o o o o o [X] o} 68 1.6 {o o o o o X o} {o o o o o [X] o}
68 1.7 {o o o o o o X} {o o o o o o [X]} 69 1.7 {o o o o o o X} {o o o o o o [X]}
69 70
70 2.1 {X o o o o o o o} {[X] o o o o o o...} 71 2.1 {X o o o o o o o} {[X] o o o o o o...}
71 2.2 {o X o o o o o o} {o [X] o o o o o...} 72 2.2 {o X o o o o o o} {o [X] o o o o o...}
72 2.3 {o o X o o o o o} {o o [X] o o o o...} 73 2.3 {o o X o o o o o} {o o [X] o o o o...}
73 2.4 {o o o X o o o o} {o o o [X] o o o...} 74 2.4 {o o o X o o o o} {o o o [X] o o o...}
74 2.5 {o o o o X o o o} {...o o o [X] o o o} 75 2.5 {o o o o X o o o} {o o o o [X] o o...}
75 2.6 {o o o o o X o o} {...o o o o [X] o o} 76 2.6 {o o o o o X o o} {o o o o o [X] o...}
76 2.7 {o o o o o o X o} {...o o o o o [X] o} 77 2.7 {o o o o o o X o} {o o o o o o [X]...}
77 2.8 {o o o o o o o X} {...o o o o o o [X]} 78 2.8 {o o o o o o o X} {...o o o o o o [X]}
78 79
80 2.9 {o o o o o o o X o} {...o o o o o [X] o}
81 2.10 {o o o o o o o X o o} {...o o o o [X] o o}
82 2.11 {o o o o o o o X o o o} {...o o o [X] o o o}
83 2.12 {o o o o o o o X o o o o} {...o o o [X] o o o...}
84
85
79 3.1 {X o o o o o o o o} {[X] o o o o o o...} 86 3.1 {X o o o o o o o o} {[X] o o o o o o...}
80 3.2 {o X o o o o o o o} {o [X] o o o o o...} 87 3.2 {o X o o o o o o o} {o [X] o o o o o...}
81 3.3 {o o X o o o o o o} {o o [X] o o o o...} 88 3.3 {o o X o o o o o o} {o o [X] o o o o...}
82 3.4 {o o o X o o o o o} {o o o [X] o o o...} 89 3.4 {o o o X o o o o o} {o o o [X] o o o...}
83 3.5 {o o o o X o o o o} {...o o o [X] o o o...} 90
84 3.6 {o o o o o X o o o} {...o o o [X] o o o} 91 3.5 {o o o o o o o X o o o o} {...o o o [X] o o o...}
85 3.7 {o o o o o o X o o} {...o o o o [X] o o} 92 3.6 {o o o o o o o o X o o o} {...o o o [X] o o o}
86 3.8 {o o o o o o o X o} {...o o o o o [X] o} 93 3.7 {o o o o o o o o o X o o} {...o o o o [X] o o}
87 3.9 {o o o o o o o o X} {...o o o o o o [X]} 94 3.8 {o o o o o o o o o o X o} {...o o o o o [X] o}
95 3.9 {o o o o o o o o o o o X} {...o o o o o o [X]}
88 96
89 4.1 {X o o o o o X o o} {[X] o o o o o [X]...} 97 4.1 {X o o o o o X o o} {[X] o o o o o [X]...}
90 4.2 {o X o o o o o X o} {...[X] o o o o o [X]...} 98 4.2 {o o o o o o o X o o o o o X o} {...[X] o o o o o [X]...}
91 4.3 {o o X o o o o o X} {...[X] o o o o o [X]} 99 4.3 {o o o o o o o o X o o o o o X} {...[X] o o o o o [X]}
92 100
93 5.1 {X o o o o X o o o} {[X] o o o o [X] o...} 101 5.1 {X o o o o X o o o} {[X] o o o o [X] o...}
94 5.2 {o X o o o o X o o} {...[X] o o o o [X] o...} 102 5.2 {o o o o o o o X o o o o X o o} {...[X] o o o o [X] o...}
95 5.3 {o o X o o o o X o} {...[X] o o o o [X] o} 103 5.3 {o o o o o o o o X o o o o X o} {...[X] o o o o [X] o}
96 5.4 {o o o X o o o o X} {...o [X] o o o o [X]} 104 5.4 {o o o o o o o o o X o o o o X} {...o [X] o o o o [X]}
97 105
98 6.1 {X o o o X o o o} {[X] o o o [X] o o...} 106 6.1 {X o o o X o o o} {[X] o o o [X] o o...}
99 6.2 {o X o o o X o o o} {o [X] o o o [X] o...} 107 6.2 {o X o o o X o o o} {o [X] o o o [X] o...}
100 6.3 {o o X o o o X o o} {...o [X] o o o [X] o...} 108 6.3 {o o o o o o o X o o o X o o} {...o [X] o o o [X] o...}
101 6.4 {o o o X o o o X o} {...o [X] o o o [X] o} 109 6.4 {o o o o o o o o X o o o X o} {...o [X] o o o [X] o}
102 6.5 {o o o o X o o o X} {...o o [X] o o o [X]} 110 6.5 {o o o o o o o o o X o o o X} {...o o [X] o o o [X]}
103 111
104 7.1 {X o o X o o o o o} {[X] o o [X] o o o...} 112 7.1 {X o o X o o o o o} {[X] o o [X] o o o...}
105 7.2 {o X o o X o o o o} {o [X] o o [X] o o...} 113 7.2 {o X o o X o o o o} {o [X] o o [X] o o...}
106 7.3 {o o X o o X o o o} {...o [X] o o [X] o o...} 114 7.3 {o o o o o o o X o o X o o o} {...o [X] o o [X] o o...}
107 7.4 {o o o X o o X o o} {...o [X] o o [X] o o} 115 7.4 {o o o o o o o o X o o X o o} {...o [X] o o [X] o o}
108 7.5 {o o o o X o o X o} {...o o [X] o o [X] o} 116 7.5 {o o o o o o o o o X o o X o} {...o o [X] o o [X] o}
109 7.6 {o o o o o X o o X} {...o o o [X] o o [X]} 117 7.6 {o o o o o o o o o o X o o X} {...o o o [X] o o [X]}
118
119 8.1 {o o o o o o o o o X o o o o o o o o o o o o o o o o X X X o o o}
120 {...o o [X] [X] [X] o o...}
121 8.2 {o o o o o o o. o o X o o o o o o o o o o o o o o o o X X X o o o}
122 {...o o [X] o o o o...}
123 8.3 {o o o o X o o o o o o o o o o o o o o o o o o o o o X X X o o o}
124 {o o o o [X] o o...}
110 } { 125 } {
111 do_snippet_test 1.$tn $doc X $res 126 do_snippet_test 1.$tn $doc X $res
112 } 127 }
113 128
114 foreach {tn doc res} { 129 if {[detail_is_full]} {
115 1.1 {X Y o o o o o} {[X Y] o o o o o} 130 foreach {tn doc res} {
116 1.2 {o X Y o o o o} {o [X Y] o o o o} 131 1.1 {X Y o o o o o} {[X Y] o o o o o}
117 1.3 {o o X Y o o o} {o o [X Y] o o o} 132 1.2 {o X Y o o o o} {o [X Y] o o o o}
118 1.4 {o o o X Y o o} {o o o [X Y] o o} 133 1.3 {o o X Y o o o} {o o [X Y] o o o}
119 1.5 {o o o o X Y o} {o o o o [X Y] o} 134 1.4 {o o o X Y o o} {o o o [X Y] o o}
120 1.6 {o o o o o X Y} {o o o o o [X Y]} 135 1.5 {o o o o X Y o} {o o o o [X Y] o}
136 1.6 {o o o o o X Y} {o o o o o [X Y]}
121 137
122 2.1 {X Y o o o o o o} {[X Y] o o o o o...} 138 2.1 {X Y o o o o o o} {[X Y] o o o o o...}
123 2.2 {o X Y o o o o o} {o [X Y] o o o o...} 139 2.2 {o X Y o o o o o} {o [X Y] o o o o...}
124 2.3 {o o X Y o o o o} {o o [X Y] o o o...} 140 2.3 {o o X Y o o o o} {o o [X Y] o o o...}
125 2.4 {o o o X Y o o o} {...o o [X Y] o o o} 141 2.4 {o o o o o o o X Y o o o} {...o o [X Y] o o o}
126 2.5 {o o o o X Y o o} {...o o o [X Y] o o} 142 2.5 {o o o o o o o o X Y o o} {...o o o [X Y] o o}
127 2.6 {o o o o o X Y o} {...o o o o [X Y] o} 143 2.6 {o o o o o o o o o X Y o} {...o o o o [X Y] o}
128 2.7 {o o o o o o X Y} {...o o o o o [X Y]} 144 2.7 {o o o o o o o o o o X Y} {...o o o o o [X Y]}
129 145
130 3.1 {X Y o o o o o o o} {[X Y] o o o o o...} 146 3.1 {X Y o o o o o o o} {[X Y] o o o o o...}
131 3.2 {o X Y o o o o o o} {o [X Y] o o o o...} 147 3.2 {o X Y o o o o o o} {o [X Y] o o o o...}
132 3.3 {o o X Y o o o o o} {o o [X Y] o o o...} 148 3.3 {o o X Y o o o o o} {o o [X Y] o o o...}
133 3.4 {o o o X Y o o o o} {...o o [X Y] o o o...} 149 3.4 {o o o o o o o X Y o o o o} {...o o [X Y] o o o...}
134 3.5 {o o o o X Y o o o} {...o o [X Y] o o o} 150 3.5 {o o o o o o o o X Y o o o} {...o o [X Y] o o o}
135 3.6 {o o o o o X Y o o} {...o o o [X Y] o o} 151 3.6 {o o o o o o o o o X Y o o} {...o o o [X Y] o o}
136 3.7 {o o o o o o X Y o} {...o o o o [X Y] o} 152 3.7 {o o o o o o o o o o X Y o} {...o o o o [X Y] o}
137 3.8 {o o o o o o o X Y} {...o o o o o [X Y]} 153 3.8 {o o o o o o o o o o o X Y} {...o o o o o [X Y]}
154 } {
155 do_snippet_test 2.$tn $doc "X + Y" $res
156 }
157 }
138 158
159 do_execsql_test 4.0 {
160 CREATE VIRTUAL TABLE x1 USING fts5(a, b);
161 INSERT INTO x1 VALUES('xyz', '1 2 3 4 5 6 7 8 9 10 11 12 13');
162 SELECT snippet(x1, 1, '[', ']', '...', 5) FROM x1('xyz');
139 } { 163 } {
140 do_snippet_test 2.$tn $doc "X + Y" $res 164 {1 2 3 4 5...}
141 } 165 }
142 166
167 do_execsql_test 5.0 {
168 CREATE VIRTUAL TABLE p1 USING fts5(a, b);
169 INSERT INTO p1 VALUES(
170 'x a a a a a a a a a a',
171 'a a a a a a a a a a a a a a a a a a a x'
172 );
173 }
174 do_execsql_test 5.1 {
175 SELECT snippet(p1, 0, '[', ']', '...', 6) FROM p1('x');
176 } {{[x] a a a a a...}}
177
178 } ;# foreach_detail_mode
179
143 finish_test 180 finish_test
144 181
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698