| Index: third_party/sqlite/src/ext/fts5/test/fts5af.test
 | 
| diff --git a/third_party/sqlite/src/ext/fts5/test/fts5af.test b/third_party/sqlite/src/ext/fts5/test/fts5af.test
 | 
| index 8c50f84866f1c702ed3572bb9bbcf7a4a272347e..6aab55a55790c4eccfb789496cbd774d9cc64891 100644
 | 
| --- a/third_party/sqlite/src/ext/fts5/test/fts5af.test
 | 
| +++ b/third_party/sqlite/src/ext/fts5/test/fts5af.test
 | 
| @@ -24,9 +24,10 @@ ifcapable !fts5 {
 | 
|    return
 | 
|  }
 | 
|  
 | 
| +foreach_detail_mode $testprefix {
 | 
|  
 | 
|  do_execsql_test 1.0 {
 | 
| -  CREATE VIRTUAL TABLE t1 USING fts5(x, y);
 | 
| +  CREATE VIRTUAL TABLE t1 USING fts5(x, y, detail=%DETAIL%);
 | 
|  }
 | 
|  
 | 
|  proc do_snippet_test {tn doc match res} {
 | 
| @@ -71,74 +72,110 @@ foreach {tn doc res} {
 | 
|    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.5 {o o o o X o o o} {o o o o [X] o o...}
 | 
| +  2.6 {o o o o o X o o} {o o o o o [X] o...}
 | 
| +  2.7 {o o o o o o X o} {o o o o o o [X]...}
 | 
|    2.8 {o o o o o o o X} {...o o o o o o [X]}
 | 
|  
 | 
| +  2.9  {o o o o o o o X o}       {...o o o o o [X] o}
 | 
| +  2.10 {o o o o o o o X o o}     {...o o o o [X] o o}
 | 
| +  2.11 {o o o o o o o X o o o}   {...o o o [X] o o o}
 | 
| +  2.12 {o o o o o o o X o o o o} {...o o o [X] o o o...}
 | 
| +
 | 
| +
 | 
|    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]}
 | 
| +
 | 
| +  3.5 {o o o o o o o X o o o o} {...o o o [X] o o o...}
 | 
| +  3.6 {o o o o o o o o X o o o} {...o o o [X] o o o}
 | 
| +  3.7 {o o o 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 o o o X o} {...o o o o o [X] o}
 | 
| +  3.9 {o o o 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]}
 | 
| +  4.2 {o o o o o o o X o o o o o X o} {...[X] o o o o o [X]...}
 | 
| +  4.3 {o o o o o o 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]}
 | 
| +  5.2 {o o o o o o o X o o o o X o o} {...[X] o o o o [X] o...}
 | 
| +  5.3 {o o o o o o o o X o o o o X o} {...[X] o o o o [X] o}
 | 
| +  5.4 {o o o o o o 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]}
 | 
| +  6.3 {o o o o o o o X o o o X o o} {...o [X] o o o [X] o...}
 | 
| +  6.4 {o o o o o o o o X o o o X o} {...o [X] o o o [X] o}
 | 
| +  6.5 {o o o o o 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]}
 | 
| +  7.3 {o o o o o o o X o o X o o o} {...o [X] o o [X] o o...}
 | 
| +  7.4 {o o o o o o o o X o o X o o} {...o [X] o o [X] o o}
 | 
| +  7.5 {o o o o o o o o o X o o X o} {...o o [X] o o [X] o}
 | 
| +  7.6 {o o o o o o o o o o X o o X} {...o o o [X] o o [X]}
 | 
| +
 | 
| +  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}
 | 
| +      {...o o [X] [X] [X] o o...}
 | 
| +  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} 
 | 
| +      {...o o [X] o o o o...}
 | 
| +  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} 
 | 
| +      {o o o o [X] o o...}
 | 
|  } {
 | 
|    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]}
 | 
| +if {[detail_is_full]} {
 | 
| +  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 o o o o X Y o o o} {...o o [X Y] o o o}
 | 
| +    2.5 {o o o o o o o o X Y o o} {...o o o [X Y] o o}
 | 
| +    2.6 {o o o o o o o o o X Y o} {...o o o o [X Y] o}
 | 
| +    2.7 {o o o o 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 o o o o X Y o o o o} {...o o [X Y] o o o...}
 | 
| +    3.5 {o o o o o o o o X Y o o o} {...o o [X Y] o o o}
 | 
| +    3.6 {o o o o o o o o o X Y o o} {...o o o [X Y] o o}
 | 
| +    3.7 {o o o o 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 o o o o X Y} {...o o o o o [X Y]}
 | 
| +  } {
 | 
| +    do_snippet_test 2.$tn $doc "X + Y" $res
 | 
| +  }
 | 
| +}
 | 
|  
 | 
| +do_execsql_test 4.0 {
 | 
| +  CREATE VIRTUAL TABLE x1 USING fts5(a, b);
 | 
| +  INSERT INTO x1 VALUES('xyz', '1 2 3 4 5 6 7 8 9 10 11 12 13');
 | 
| +  SELECT snippet(x1, 1, '[', ']', '...', 5) FROM x1('xyz');
 | 
|  } {
 | 
| -  do_snippet_test 2.$tn $doc "X + Y" $res
 | 
| +  {1 2 3 4 5...}
 | 
| +}
 | 
| +
 | 
| +do_execsql_test 5.0 {
 | 
| +  CREATE VIRTUAL TABLE p1 USING fts5(a, b);
 | 
| +  INSERT INTO p1 VALUES(
 | 
| +    'x a a a a a a a a a a',
 | 
| +    'a a a a a a a a a a a a a a a a a a a x'
 | 
| +  );
 | 
|  }
 | 
| +do_execsql_test 5.1 {
 | 
| +  SELECT snippet(p1, 0, '[', ']', '...', 6) FROM p1('x');
 | 
| +} {{[x] a a a a a...}}
 | 
| +
 | 
| +} ;# foreach_detail_mode 
 | 
|  
 | 
|  finish_test
 | 
|  
 | 
| 
 |