summaryrefslogtreecommitdiff
path: root/jstests/core/fts_diacritic_and_casesensitive.js
blob: 397b6033f88d05529af33dc5179d5fe120250359 (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
55
56
57
58
59
60
61
62
63
64
65
66
// 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.writeOK(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.ensureIndex({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}));

})();