summaryrefslogtreecommitdiff
path: root/jstests/core/index/fts/fts_diacritic_and_casesensitive.js
blob: ba11781b8fd220583c150f6c064dd1bda3a9afc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Integration tests for {$diacriticSensitive: true, $caseSensitive: true} option to $text query
// operator.

load('jstests/libs/fts.js');

(function() {
"use strict";
var coll = db.fts_diacritic_and_casesensitive;

coll.drop();

assert.commandWorked(coll.insert(
    {_id: 0, a: "O próximo Vôo à Noite sobre o Atlântico, Põe Freqüentemente o único Médico."}));

assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "portuguese"}));

assert.eq([0],
          queryIDS(coll, "próximo vôo à", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([0],
          queryIDS(coll, "Atlântico", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([0],
          queryIDS(coll, "\"próximo\"", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq(
    [0],
    queryIDS(coll, "\"Põe\" Atlântico", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([0],
          queryIDS(coll,
                   "\"próximo Vôo\" \"único Médico\"",
                   null,
                   {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([0],
          queryIDS(coll,
                   "\"próximo Vôo\" -\"único médico\"",
                   null,
                   {$diacriticSensitive: true, $caseSensitive: true}));

assert.eq([], queryIDS(coll, "À", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([], queryIDS(coll, "Próximo", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([],
          queryIDS(coll, "proximo vôo à", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq(
    [], queryIDS(coll, "À -próximo -Vôo", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq(
    [], queryIDS(coll, "à proximo -Vôo", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([], queryIDS(coll, "mo Vô", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq(
    [],
    queryIDS(coll, "\"único médico\"", null, {$diacriticSensitive: true, $caseSensitive: true}));
assert.eq([],
          queryIDS(coll,
                   "\"próximo Vôo\" -\"único Médico\"",
                   null,
                   {$diacriticSensitive: true, $caseSensitive: true}));
})();