parse-domain 2.2.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,162 +0,0 @@
1
- "use strict";
2
-
3
- const chai = require("chai");
4
- const parseTrie = require("../../lib/tries/parseTrie");
5
-
6
- const expect = chai.expect;
7
-
8
- describe("parseTrie()", () => {
9
- describe("basic cases", () => {
10
- it("returns a map", () => {
11
- expect(parseTrie("")).to.be.instanceOf(Map);
12
- });
13
-
14
- it("returns an empty map when an empty string is given", () => {
15
- const trie = parseTrie("");
16
-
17
- expect(trie.size).to.equal(0);
18
- });
19
-
20
- it("returns a map with the given domain as key and true as value", () => {
21
- const trie = parseTrie("some-domain");
22
- const someDomain = trie.get("some-domain");
23
-
24
- expect(someDomain).to.equal(true);
25
- });
26
- });
27
-
28
- describe("with SAME separator", () => {
29
- it("returns a map with the given domains as key and true as value", () => {
30
- const trie = parseTrie("a,b,c");
31
- const a = trie.get("a");
32
- const b = trie.get("b");
33
- const c = trie.get("c");
34
-
35
- expect(a).to.equal(true);
36
- expect(b).to.equal(true);
37
- expect(c).to.equal(true);
38
- });
39
- });
40
-
41
- describe("and with DOWN separator", () => {
42
- it("returns a nested map", () => {
43
- const trie = parseTrie("a>a");
44
- const a = trie.get("a");
45
- const aa = a.get("a");
46
-
47
- expect(aa).to.equal(true);
48
- });
49
-
50
- it("returns a deeply nested map", () => {
51
- const trie = parseTrie("a>a>a");
52
- const a = trie.get("a");
53
- const aa = a.get("a");
54
- const aaa = aa.get("a");
55
-
56
- expect(aa).to.be.instanceOf(Map);
57
- expect(aaa).to.equal(true);
58
- });
59
-
60
- it("returns a nested map with the given domains as key and true as value", () => {
61
- const trie = parseTrie("a>a,b,c");
62
- const a = trie.get("a");
63
- const aa = a.get("a");
64
- const ab = a.get("b");
65
- const ac = a.get("c");
66
-
67
- expect(aa).to.equal(true);
68
- expect(ab).to.equal(true);
69
- expect(ac).to.equal(true);
70
- });
71
- });
72
-
73
- describe("and with UP separator", () => {
74
- it("returns a map with maps", () => {
75
- const trie = parseTrie("a>a,b<b>a,b");
76
- const a = trie.get("a");
77
- const aa = a.get("a");
78
- const ab = a.get("a");
79
- const b = trie.get("b");
80
- const ba = b.get("a");
81
- const bb = b.get("b");
82
-
83
- expect(aa).to.equal(true);
84
- expect(ab).to.equal(true);
85
- expect(ba).to.equal(true);
86
- expect(bb).to.equal(true);
87
- });
88
-
89
- it("goes up multiple levels", () => {
90
- const trie = parseTrie("a>a>a>a<<<b");
91
- const a = trie.get("a");
92
- const aa = a.get("a");
93
- const aaa = aa.get("a");
94
- const aaaa = aaa.get("a");
95
- const b = trie.get("b");
96
-
97
- expect(aaaa).to.equal(true);
98
- expect(b).to.equal(true);
99
- });
100
- });
101
-
102
- describe("and with RESET separator", () => {
103
- it("resets the domain level", () => {
104
- const trie = parseTrie("a>a|b");
105
- const a = trie.get("a");
106
- const aa = a.get("a");
107
- const b = trie.get("b");
108
-
109
- expect(aa).to.equal(true);
110
- expect(b).to.equal(true);
111
- });
112
-
113
- it("works also on the top-level", () => {
114
- const trie = parseTrie("a|b");
115
- const a = trie.get("a");
116
- const b = trie.get("b");
117
-
118
- expect(a).to.equal(true);
119
- expect(b).to.equal(true);
120
- });
121
-
122
- it("returns the expected trie", () => {
123
- const trie = parseTrie("a>a>a|b>a|c");
124
- const a = trie.get("a");
125
- const aa = a.get("a");
126
- const aaa = aa.get("a");
127
- const b = trie.get("b");
128
- const ba = b.get("a");
129
- const c = trie.get("c");
130
-
131
- expect(aaa).to.equal(true);
132
- expect(ba).to.equal(true);
133
- expect(c).to.equal(true);
134
- });
135
- });
136
-
137
- describe("complex cases", () => {
138
- it("parses 'a>a>a>a<<b,c|b>a>a<b>a>a,b' without errors", () => {
139
- const trie = parseTrie("a>a>a>a<<b,c|b>a>a<b>a>a,b");
140
- const a = trie.get("a");
141
- const aa = a.get("a");
142
- const aaa = aa.get("a");
143
- const aaaa = aaa.get("a");
144
- const ab = a.get("b");
145
- const ac = a.get("c");
146
- const b = trie.get("b");
147
- const ba = b.get("a");
148
- const baa = ba.get("a");
149
- const bb = b.get("b");
150
- const bba = bb.get("a");
151
- const bbaa = bba.get("a");
152
- const bbab = bba.get("b");
153
-
154
- expect(aaaa).to.equal(true);
155
- expect(ab).to.equal(true);
156
- expect(ac).to.equal(true);
157
- expect(baa).to.equal(true);
158
- expect(bbaa).to.equal(true);
159
- expect(bbab).to.equal(true);
160
- });
161
- });
162
- });