xref: /sqlite-3.40.0/test/fts4umlaut.test (revision 583521fb)
1# 2018 December 3
2#
3# The author disclaims copyright to this source code.  In place of
4# a legal notice, here is a blessing:
5#
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.
9#
10#*************************************************************************
11# This file implements regression tests for SQLite library.  The
12# focus of this script is testing the FTS5 module.
13#
14
15set testdir [file dirname $argv0]
16source $testdir/tester.tcl
17set testprefix fts4umlaut
18
19ifcapable !fts3 {
20  finish_test
21  return
22}
23
24do_execsql_test 1.0 {
25  CREATE VIRTUAL TABLE t1 USING fts4(x, tokenize=unicode61);
26  CREATE VIRTUAL TABLE t2 USING fts4(
27      x,
28      tokenize=unicode61 "remove_diacritics=2"
29  );
30}
31
32foreach {tn q res1 res2} {
33  1 "Hà Nội"                  0 1
34  2 "Hà Noi"                  1 1
35  3 "Ha Noi"                  1 1
36  4 "Ha N\u1ed9i"             0 1
37  5 "Ha N\u006fi"             1 1
38  6 "Ha N\u006f\u0302i"       1 1
39  7 "Ha N\u006f\u0323\u0302i" 1 1
40} {
41  do_execsql_test 1.$tn.1 {
42    DELETE FROM t1;
43    INSERT INTO t1(rowid, x) VALUES (1, 'Ha Noi');
44    SELECT count(*) FROM t1 WHERE t1 MATCH $q
45  } $res1
46  do_execsql_test 1.$tn.2 {
47    DELETE FROM t1;
48    INSERT INTO t1(rowid, x) VALUES (1, $q);
49    SELECT count(*) FROM t1 WHERE t1 MATCH 'Ha Noi'
50  } $res1
51
52  do_execsql_test 1.$tn.3 {
53    DELETE FROM t2;
54    INSERT INTO t2(rowid, x) VALUES (1, 'Ha Noi');
55    SELECT count(*) FROM t2 WHERE t2 MATCH $q
56  } $res2
57  do_execsql_test 1.$tn.4 {
58    DELETE FROM t2;
59    INSERT INTO t2(rowid, x) VALUES (1, $q);
60    SELECT count(*) FROM t2 WHERE t2 MATCH 'Ha Noi'
61  } $res2
62}
63
64finish_test
65