1#include <vector>
2#include <string>
3#include <exception>
4#include <common/JSON.h>
5
6#include <boost/range/irange.hpp>
7
8using namespace std::literals::string_literals;
9
10#include <gtest/gtest.h>
11
12enum class ResultType
13{
14 Return,
15 Throw
16};
17
18struct GetStringTestRecord
19{
20 std::string input;
21 ResultType result_type;
22 std::string result;
23};
24
25TEST(JSON_Suite, SimpleTest)
26{
27 std::vector<GetStringTestRecord> test_data =
28 {
29 { "\"name\""s, ResultType::Return, "name"s },
30 { "\"Вафельница Vitek WX-1102 FL\""s, ResultType::Return, "Вафельница Vitek WX-1102 FL"s },
31 { "\"brand\""s, ResultType::Return, "brand"s },
32 { "\"184509\""s, ResultType::Return, "184509"s },
33 { "\"category\""s, ResultType::Return, "category"s },
34 { "\"Все для детей/Детская техника/Vitek\""s, ResultType::Return, "Все для детей/Детская техника/Vitek"s },
35 { "\"variant\""s, ResultType::Return, "variant"s },
36 { "\"В наличии\""s, ResultType::Return, "В наличии"s },
37 { "\"price\""s, ResultType::Return, "price"s },
38 { "\"2390.00\""s, ResultType::Return, "2390.00"s },
39 { "\"list\""s, ResultType::Return, "list"s },
40 { "\"Карточка\""s, ResultType::Return, "Карточка"s },
41 { "\"position\""s, ResultType::Return, "position"s },
42 { "\"detail\""s, ResultType::Return, "detail"s },
43 { "\"actionField\""s, ResultType::Return, "actionField"s },
44 { "\"list\""s, ResultType::Return, "list"s },
45 { "\"http://www.techport.ru/q/?t=вафельница&sort=price&sdim=asc\""s, ResultType::Return, "http://www.techport.ru/q/?t=вафельница&sort=price&sdim=asc"s },
46 { "\"action\""s, ResultType::Return, "action"s },
47 { "\"detail\""s, ResultType::Return, "detail"s },
48 { "\"products\""s, ResultType::Return, "products"s },
49 { "\"name\""s, ResultType::Return, "name"s },
50 { "\"Вафельница Vitek WX-1102 FL\""s, ResultType::Return, "Вафельница Vitek WX-1102 FL"s },
51 { "\"id\""s, ResultType::Return, "id"s },
52 { "\"184509\""s, ResultType::Return, "184509"s },
53 { "\"price\""s, ResultType::Return, "price"s },
54 { "\"2390.00\""s, ResultType::Return, "2390.00"s },
55 { "\"brand\""s, ResultType::Return, "brand"s },
56 { "\"Vitek\""s, ResultType::Return, "Vitek"s },
57 { "\"category\""s, ResultType::Return, "category"s },
58 { "\"Все для детей/Детская техника/Vitek\""s, ResultType::Return, "Все для детей/Детская техника/Vitek"s },
59 { "\"variant\""s, ResultType::Return, "variant"s },
60 { "\"В наличии\""s, ResultType::Return, "В наличии"s },
61 { "\"ru\""s, ResultType::Return, "ru"s },
62 { "\"experiments\""s, ResultType::Return, "experiments"s },
63 { "\"lang\""s, ResultType::Return, "lang"s },
64 { "\"ru\""s, ResultType::Return, "ru"s },
65 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
66 { "\"los_level\""s, ResultType::Return, "los_level"s },
67 { "\"none\""s, ResultType::Return, "none"s },
68 { "\"isAuthorized\""s, ResultType::Return, "isAuthorized"s },
69 { "\"isSubscriber\""s, ResultType::Return, "isSubscriber"s },
70 { "\"postType\""s, ResultType::Return, "postType"s },
71 { "\"Новости\""s, ResultType::Return, "Новости"s },
72 { "\"experiments\""s, ResultType::Return, "experiments"s },
73 { "\"lang\""s, ResultType::Return, "lang"s },
74 { "\"ru\""s, ResultType::Return, "ru"s },
75 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
76 { "\"los_level\""s, ResultType::Return, "los_level"s },
77 { "\"none\""s, ResultType::Return, "none"s },
78 { "\"lang\""s, ResultType::Return, "lang"s },
79 { "\"ru\""s, ResultType::Return, "ru"s },
80 { "\"Электроплита GEFEST Брест ЭПНД 5140-01 0001\""s, ResultType::Return, "Электроплита GEFEST Брест ЭПНД 5140-01 0001"s },
81 { "\"price\""s, ResultType::Return, "price"s },
82 { "\"currencyCode\""s, ResultType::Return, "currencyCode"s },
83 { "\"RUB\""s, ResultType::Return, "RUB"s },
84 { "\"lang\""s, ResultType::Return, "lang"s },
85 { "\"ru\""s, ResultType::Return, "ru"s },
86 { "\"experiments\""s, ResultType::Return, "experiments"s },
87 { "\"lang\""s, ResultType::Return, "lang"s },
88 { "\"ru\""s, ResultType::Return, "ru"s },
89 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
90 { "\"los_level\""s, ResultType::Return, "los_level"s },
91 { "\"none\""s, ResultType::Return, "none"s },
92 { "\"trash_login\""s, ResultType::Return, "trash_login"s },
93 { "\"novikoff\""s, ResultType::Return, "novikoff"s },
94 { "\"trash_cat_link\""s, ResultType::Return, "trash_cat_link"s },
95 { "\"progs\""s, ResultType::Return, "progs"s },
96 { "\"trash_parent_link\""s, ResultType::Return, "trash_parent_link"s },
97 { "\"content\""s, ResultType::Return, "content"s },
98 { "\"trash_posted_parent\""s, ResultType::Return, "trash_posted_parent"s },
99 { "\"content.01.2016\""s, ResultType::Return, "content.01.2016"s },
100 { "\"trash_posted_cat\""s, ResultType::Return, "trash_posted_cat"s },
101 { "\"progs.01.2016\""s, ResultType::Return, "progs.01.2016"s },
102 { "\"trash_virus_count\""s, ResultType::Return, "trash_virus_count"s },
103 { "\"trash_is_android\""s, ResultType::Return, "trash_is_android"s },
104 { "\"trash_is_wp8\""s, ResultType::Return, "trash_is_wp8"s },
105 { "\"trash_is_ios\""s, ResultType::Return, "trash_is_ios"s },
106 { "\"trash_posted\""s, ResultType::Return, "trash_posted"s },
107 { "\"01.2016\""s, ResultType::Return, "01.2016"s },
108 { "\"experiments\""s, ResultType::Return, "experiments"s },
109 { "\"lang\""s, ResultType::Return, "lang"s },
110 { "\"ru\""s, ResultType::Return, "ru"s },
111 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
112 { "\"los_level\""s, ResultType::Return, "los_level"s },
113 { "\"none\""s, ResultType::Return, "none"s },
114 { "\"merchantId\""s, ResultType::Return, "merchantId"s },
115 { "\"13694_49246\""s, ResultType::Return, "13694_49246"s },
116 { "\"cps-source\""s, ResultType::Return, "cps-source"s },
117 { "\"wargaming\""s, ResultType::Return, "wargaming"s },
118 { "\"cps_provider\""s, ResultType::Return, "cps_provider"s },
119 { "\"default\""s, ResultType::Return, "default"s },
120 { "\"errorReason\""s, ResultType::Return, "errorReason"s },
121 { "\"no errors\""s, ResultType::Return, "no errors"s },
122 { "\"scid\""s, ResultType::Return, "scid"s },
123 { "\"isAuthPayment\""s, ResultType::Return, "isAuthPayment"s },
124 { "\"lang\""s, ResultType::Return, "lang"s },
125 { "\"ru\""s, ResultType::Return, "ru"s },
126 { "\"rubric\""s, ResultType::Return, "rubric"s },
127 { "\"\""s, ResultType::Return, ""s },
128 { "\"rubric\""s, ResultType::Return, "rubric"s },
129 { "\"Мир\""s, ResultType::Return, "Мир"s },
130 { "\"lang\""s, ResultType::Return, "lang"s },
131 { "\"ru\""s, ResultType::Return, "ru"s },
132 { "\"experiments\""s, ResultType::Return, "experiments"s },
133 { "\"lang\""s, ResultType::Return, "lang"s },
134 { "\"ru\""s, ResultType::Return, "ru"s },
135 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
136 { "\"los_level\""s, ResultType::Return, "los_level"s },
137 { "\"none\""s, ResultType::Return, "none"s },
138 { "\"lang\""s, ResultType::Return, "lang"s },
139 { "\"ru\""s, ResultType::Return, "ru"s },
140 { "\"__ym\""s, ResultType::Return, "__ym"s },
141 { "\"ecommerce\""s, ResultType::Return, "ecommerce"s },
142 { "\"impressions\""s, ResultType::Return, "impressions"s },
143 { "\"id\""s, ResultType::Return, "id"s },
144 { "\"863813\""s, ResultType::Return, "863813"s },
145 { "\"name\""s, ResultType::Return, "name"s },
146 { "\"Футболка детская 3D Happy, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Happy, возраст 1-2 года, трикотаж"s },
147 { "\"category\""s, ResultType::Return, "category"s },
148 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
149 { "\"variant\""s, ResultType::Return, "variant"s },
150 { "\"\""s, ResultType::Return, ""s },
151 { "\"price\""s, ResultType::Return, "price"s },
152 { "\"390.00\""s, ResultType::Return, "390.00"s },
153 { "\"list\""s, ResultType::Return, "list"s },
154 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
155 { "\"position\""s, ResultType::Return, "position"s },
156 { "\"brand\""s, ResultType::Return, "brand"s },
157 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
158 { "\"id\""s, ResultType::Return, "id"s },
159 { "\"863839\""s, ResultType::Return, "863839"s },
160 { "\"name\""s, ResultType::Return, "name"s },
161 { "\"Футболка детская 3D Pretty kitten, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Pretty kitten, возраст 1-2 года, трикотаж"s },
162 { "\"category\""s, ResultType::Return, "category"s },
163 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
164 { "\"variant\""s, ResultType::Return, "variant"s },
165 { "\"\""s, ResultType::Return, ""s },
166 { "\"price\""s, ResultType::Return, "price"s },
167 { "\"390.00\""s, ResultType::Return, "390.00"s },
168 { "\"list\""s, ResultType::Return, "list"s },
169 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
170 { "\"position\""s, ResultType::Return, "position"s },
171 { "\"brand\""s, ResultType::Return, "brand"s },
172 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
173 { "\"id\""s, ResultType::Return, "id"s },
174 { "\"863847\""s, ResultType::Return, "863847"s },
175 { "\"name\""s, ResultType::Return, "name"s },
176 { "\"Футболка детская 3D Little tiger, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Little tiger, возраст 1-2 года, трикотаж"s },
177 { "\"category\""s, ResultType::Return, "category"s },
178 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
179 { "\"variant\""s, ResultType::Return, "variant"s },
180 { "\"\""s, ResultType::Return, ""s },
181 { "\"price\""s, ResultType::Return, "price"s },
182 { "\"390.00\""s, ResultType::Return, "390.00"s },
183 { "\"list\""s, ResultType::Return, "list"s },
184 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
185 { "\"position\""s, ResultType::Return, "position"s },
186 { "\"brand\""s, ResultType::Return, "brand"s },
187 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
188 { "\"id\""s, ResultType::Return, "id"s },
189 { "\"911480\""s, ResultType::Return, "911480"s },
190 { "\"name\""s, ResultType::Return, "name"s },
191 { "\"Футболка детская 3D Puppy, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Puppy, возраст 1-2 года, трикотаж"s },
192 { "\"category\""s, ResultType::Return, "category"s },
193 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
194 { "\"variant\""s, ResultType::Return, "variant"s },
195 { "\"\""s, ResultType::Return, ""s },
196 { "\"price\""s, ResultType::Return, "price"s },
197 { "\"390.00\""s, ResultType::Return, "390.00"s },
198 { "\"list\""s, ResultType::Return, "list"s },
199 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
200 { "\"position\""s, ResultType::Return, "position"s },
201 { "\"brand\""s, ResultType::Return, "brand"s },
202 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
203 { "\"id\""s, ResultType::Return, "id"s },
204 { "\"911484\""s, ResultType::Return, "911484"s },
205 { "\"name\""s, ResultType::Return, "name"s },
206 { "\"Футболка детская 3D Little bears, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Little bears, возраст 1-2 года, трикотаж"s },
207 { "\"category\""s, ResultType::Return, "category"s },
208 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
209 { "\"variant\""s, ResultType::Return, "variant"s },
210 { "\"\""s, ResultType::Return, ""s },
211 { "\"price\""s, ResultType::Return, "price"s },
212 { "\"390.00\""s, ResultType::Return, "390.00"s },
213 { "\"list\""s, ResultType::Return, "list"s },
214 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
215 { "\"position\""s, ResultType::Return, "position"s },
216 { "\"brand\""s, ResultType::Return, "brand"s },
217 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
218 { "\"id\""s, ResultType::Return, "id"s },
219 { "\"911489\""s, ResultType::Return, "911489"s },
220 { "\"name\""s, ResultType::Return, "name"s },
221 { "\"Футболка детская 3D Dolphin, возраст 2-4 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Dolphin, возраст 2-4 года, трикотаж"s },
222 { "\"category\""s, ResultType::Return, "category"s },
223 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
224 { "\"variant\""s, ResultType::Return, "variant"s },
225 { "\"\""s, ResultType::Return, ""s },
226 { "\"price\""s, ResultType::Return, "price"s },
227 { "\"390.00\""s, ResultType::Return, "390.00"s },
228 { "\"list\""s, ResultType::Return, "list"s },
229 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
230 { "\"position\""s, ResultType::Return, "position"s },
231 { "\"brand\""s, ResultType::Return, "brand"s },
232 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
233 { "\"id\""s, ResultType::Return, "id"s },
234 { "\"911496\""s, ResultType::Return, "911496"s },
235 { "\"name\""s, ResultType::Return, "name"s },
236 { "\"Футболка детская 3D Pretty, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Pretty, возраст 1-2 года, трикотаж"s },
237 { "\"category\""s, ResultType::Return, "category"s },
238 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
239 { "\"variant\""s, ResultType::Return, "variant"s },
240 { "\"\""s, ResultType::Return, ""s },
241 { "\"price\""s, ResultType::Return, "price"s },
242 { "\"390.00\""s, ResultType::Return, "390.00"s },
243 { "\"list\""s, ResultType::Return, "list"s },
244 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
245 { "\"position\""s, ResultType::Return, "position"s },
246 { "\"brand\""s, ResultType::Return, "brand"s },
247 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
248 { "\"id\""s, ResultType::Return, "id"s },
249 { "\"911504\""s, ResultType::Return, "911504"s },
250 { "\"name\""s, ResultType::Return, "name"s },
251 { "\"Футболка детская 3D Fairytale, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Fairytale, возраст 1-2 года, трикотаж"s },
252 { "\"category\""s, ResultType::Return, "category"s },
253 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
254 { "\"variant\""s, ResultType::Return, "variant"s },
255 { "\"\""s, ResultType::Return, ""s },
256 { "\"price\""s, ResultType::Return, "price"s },
257 { "\"390.00\""s, ResultType::Return, "390.00"s },
258 { "\"list\""s, ResultType::Return, "list"s },
259 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
260 { "\"position\""s, ResultType::Return, "position"s },
261 { "\"brand\""s, ResultType::Return, "brand"s },
262 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
263 { "\"id\""s, ResultType::Return, "id"s },
264 { "\"911508\""s, ResultType::Return, "911508"s },
265 { "\"name\""s, ResultType::Return, "name"s },
266 { "\"Футболка детская 3D Kittens, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Kittens, возраст 1-2 года, трикотаж"s },
267 { "\"category\""s, ResultType::Return, "category"s },
268 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
269 { "\"variant\""s, ResultType::Return, "variant"s },
270 { "\"\""s, ResultType::Return, ""s },
271 { "\"price\""s, ResultType::Return, "price"s },
272 { "\"390.00\""s, ResultType::Return, "390.00"s },
273 { "\"list\""s, ResultType::Return, "list"s },
274 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
275 { "\"position\""s, ResultType::Return, "position"s },
276 { "\"brand\""s, ResultType::Return, "brand"s },
277 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
278 { "\"id\""s, ResultType::Return, "id"s },
279 { "\"911512\""s, ResultType::Return, "911512"s },
280 { "\"name\""s, ResultType::Return, "name"s },
281 { "\"Футболка детская 3D Sunshine, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Sunshine, возраст 1-2 года, трикотаж"s },
282 { "\"category\""s, ResultType::Return, "category"s },
283 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
284 { "\"variant\""s, ResultType::Return, "variant"s },
285 { "\"\""s, ResultType::Return, ""s },
286 { "\"price\""s, ResultType::Return, "price"s },
287 { "\"390.00\""s, ResultType::Return, "390.00"s },
288 { "\"list\""s, ResultType::Return, "list"s },
289 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
290 { "\"position\""s, ResultType::Return, "position"s },
291 { "\"brand\""s, ResultType::Return, "brand"s },
292 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
293 { "\"id\""s, ResultType::Return, "id"s },
294 { "\"911516\""s, ResultType::Return, "911516"s },
295 { "\"name\""s, ResultType::Return, "name"s },
296 { "\"Футболка детская 3D Dog in bag, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Dog in bag, возраст 1-2 года, трикотаж"s },
297 { "\"category\""s, ResultType::Return, "category"s },
298 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
299 { "\"variant\""s, ResultType::Return, "variant"s },
300 { "\"\""s, ResultType::Return, ""s },
301 { "\"price\""s, ResultType::Return, "price"s },
302 { "\"390.00\""s, ResultType::Return, "390.00"s },
303 { "\"list\""s, ResultType::Return, "list"s },
304 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
305 { "\"position\""s, ResultType::Return, "position"s },
306 { "\"brand\""s, ResultType::Return, "brand"s },
307 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
308 { "\"id\""s, ResultType::Return, "id"s },
309 { "\"911520\""s, ResultType::Return, "911520"s },
310 { "\"name\""s, ResultType::Return, "name"s },
311 { "\"Футболка детская 3D Cute puppy, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Cute puppy, возраст 1-2 года, трикотаж"s },
312 { "\"category\""s, ResultType::Return, "category"s },
313 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
314 { "\"variant\""s, ResultType::Return, "variant"s },
315 { "\"\""s, ResultType::Return, ""s },
316 { "\"price\""s, ResultType::Return, "price"s },
317 { "\"390.00\""s, ResultType::Return, "390.00"s },
318 { "\"list\""s, ResultType::Return, "list"s },
319 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
320 { "\"position\""s, ResultType::Return, "position"s },
321 { "\"brand\""s, ResultType::Return, "brand"s },
322 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
323 { "\"id\""s, ResultType::Return, "id"s },
324 { "\"911524\""s, ResultType::Return, "911524"s },
325 { "\"name\""s, ResultType::Return, "name"s },
326 { "\"Футболка детская 3D Rabbit, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Rabbit, возраст 1-2 года, трикотаж"s },
327 { "\"category\""s, ResultType::Return, "category"s },
328 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
329 { "\"variant\""s, ResultType::Return, "variant"s },
330 { "\"\""s, ResultType::Return, ""s },
331 { "\"price\""s, ResultType::Return, "price"s },
332 { "\"390.00\""s, ResultType::Return, "390.00"s },
333 { "\"list\""s, ResultType::Return, "list"s },
334 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
335 { "\"position\""s, ResultType::Return, "position"s },
336 { "\"brand\""s, ResultType::Return, "brand"s },
337 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
338 { "\"id\""s, ResultType::Return, "id"s },
339 { "\"911528\""s, ResultType::Return, "911528"s },
340 { "\"name\""s, ResultType::Return, "name"s },
341 { "\"Футболка детская 3D Turtle, возраст 1-2 года, трикотаж\""s, ResultType::Return, "Футболка детская 3D Turtle, возраст 1-2 года, трикотаж"s },
342 { "\"category\""s, ResultType::Return, "category"s },
343 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
344 { "\"variant\""s, ResultType::Return, "variant"s },
345 { "\"\""s, ResultType::Return, ""s },
346 { "\"price\""s, ResultType::Return, "price"s },
347 { "\"390.00\""s, ResultType::Return, "390.00"s },
348 { "\"list\""s, ResultType::Return, "list"s },
349 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
350 { "\"position\""s, ResultType::Return, "position"s },
351 { "\"brand\""s, ResultType::Return, "brand"s },
352 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
353 { "\"id\""s, ResultType::Return, "id"s },
354 { "\"888616\""s, ResultType::Return, "888616"s },
355 { "\"name\""s, ResultType::Return, "name"s },
356 { "\"3Д Футболка мужская \\\"Collorista\\\" Светлое завтра р-р XL(52-54), 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка мужская \"Collorista\" Светлое завтра р-р XL(52-54), 100% хлопок, трикотаж"s },
357 { "\"category\""s, ResultType::Return, "category"s },
358 { "\"/Одежда и обувь/Мужская одежда/Футболки/\""s, ResultType::Return, "/Одежда и обувь/Мужская одежда/Футболки/"s },
359 { "\"variant\""s, ResultType::Return, "variant"s },
360 { "\"\""s, ResultType::Return, ""s },
361 { "\"price\""s, ResultType::Return, "price"s },
362 { "\"406.60\""s, ResultType::Return, "406.60"s },
363 { "\"list\""s, ResultType::Return, "list"s },
364 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
365 { "\"position\""s, ResultType::Return, "position"s },
366 { "\"brand\""s, ResultType::Return, "brand"s },
367 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
368 { "\"id\""s, ResultType::Return, "id"s },
369 { "\"913361\""s, ResultType::Return, "913361"s },
370 { "\"name\""s, ResultType::Return, "name"s },
371 { "\"3Д Футболка детская World р-р 8-10, 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка детская World р-р 8-10, 100% хлопок, трикотаж"s },
372 { "\"category\""s, ResultType::Return, "category"s },
373 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
374 { "\"variant\""s, ResultType::Return, "variant"s },
375 { "\"\""s, ResultType::Return, ""s },
376 { "\"price\""s, ResultType::Return, "price"s },
377 { "\"470.00\""s, ResultType::Return, "470.00"s },
378 { "\"list\""s, ResultType::Return, "list"s },
379 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
380 { "\"position\""s, ResultType::Return, "position"s },
381 { "\"brand\""s, ResultType::Return, "brand"s },
382 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
383 { "\"id\""s, ResultType::Return, "id"s },
384 { "\"913364\""s, ResultType::Return, "913364"s },
385 { "\"name\""s, ResultType::Return, "name"s },
386 { "\"3Д Футболка детская Force р-р 8-10, 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка детская Force р-р 8-10, 100% хлопок, трикотаж"s },
387 { "\"category\""s, ResultType::Return, "category"s },
388 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
389 { "\"variant\""s, ResultType::Return, "variant"s },
390 { "\"\""s, ResultType::Return, ""s },
391 { "\"price\""s, ResultType::Return, "price"s },
392 { "\"470.00\""s, ResultType::Return, "470.00"s },
393 { "\"list\""s, ResultType::Return, "list"s },
394 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
395 { "\"position\""s, ResultType::Return, "position"s },
396 { "\"brand\""s, ResultType::Return, "brand"s },
397 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
398 { "\"id\""s, ResultType::Return, "id"s },
399 { "\"913367\""s, ResultType::Return, "913367"s },
400 { "\"name\""s, ResultType::Return, "name"s },
401 { "\"3Д Футболка детская Winter tale р-р 8-10, 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка детская Winter tale р-р 8-10, 100% хлопок, трикотаж"s },
402 { "\"category\""s, ResultType::Return, "category"s },
403 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
404 { "\"variant\""s, ResultType::Return, "variant"s },
405 { "\"\""s, ResultType::Return, ""s },
406 { "\"price\""s, ResultType::Return, "price"s },
407 { "\"470.00\""s, ResultType::Return, "470.00"s },
408 { "\"list\""s, ResultType::Return, "list"s },
409 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
410 { "\"position\""s, ResultType::Return, "position"s },
411 { "\"brand\""s, ResultType::Return, "brand"s },
412 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
413 { "\"id\""s, ResultType::Return, "id"s },
414 { "\"913385\""s, ResultType::Return, "913385"s },
415 { "\"name\""s, ResultType::Return, "name"s },
416 { "\"3Д Футболка детская Moonshine р-р 8-10, 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка детская Moonshine р-р 8-10, 100% хлопок, трикотаж"s },
417 { "\"category\""s, ResultType::Return, "category"s },
418 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
419 { "\"variant\""s, ResultType::Return, "variant"s },
420 { "\"\""s, ResultType::Return, ""s },
421 { "\"price\""s, ResultType::Return, "price"s },
422 { "\"470.00\""s, ResultType::Return, "470.00"s },
423 { "\"list\""s, ResultType::Return, "list"s },
424 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
425 { "\"position\""s, ResultType::Return, "position"s },
426 { "\"brand\""s, ResultType::Return, "brand"s },
427 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
428 { "\"id\""s, ResultType::Return, "id"s },
429 { "\"913391\""s, ResultType::Return, "913391"s },
430 { "\"name\""s, ResultType::Return, "name"s },
431 { "\"3Д Футболка детская Shaman р-р 8-10, 100% хлопок, трикотаж\""s, ResultType::Return, "3Д Футболка детская Shaman р-р 8-10, 100% хлопок, трикотаж"s },
432 { "\"category\""s, ResultType::Return, "category"s },
433 { "\"/Летние товары/Летний текстиль/\""s, ResultType::Return, "/Летние товары/Летний текстиль/"s },
434 { "\"variant\""s, ResultType::Return, "variant"s },
435 { "\"\""s, ResultType::Return, ""s },
436 { "\"price\""s, ResultType::Return, "price"s },
437 { "\"470.00\""s, ResultType::Return, "470.00"s },
438 { "\"list\""s, ResultType::Return, "list"s },
439 { "\"/retailrocket/\""s, ResultType::Return, "/retailrocket/"s },
440 { "\"position\""s, ResultType::Return, "position"s },
441 { "\"brand\""s, ResultType::Return, "brand"s },
442 { "\"/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/\""s, ResultType::Return, "/911488/futbolka-detskaya-3d-dolphin-vozrast-1-2-goda-trikotazh/"s },
443 { "\"usertype\""s, ResultType::Return, "usertype"s },
444 { "\"visitor\""s, ResultType::Return, "visitor"s },
445 { "\"lang\""s, ResultType::Return, "lang"s },
446 { "\"ru\""s, ResultType::Return, "ru"s },
447 { "\"__ym\""s, ResultType::Return, "__ym"s },
448 { "\"ecommerce\""s, ResultType::Return, "ecommerce"s },
449 { "\"impressions\""s, ResultType::Return, "impressions"s },
450 { "\"experiments\""s, ResultType::Return, "experiments"s },
451 { "\"lang\""s, ResultType::Return, "lang"s },
452 { "\"ru\""s, ResultType::Return, "ru"s },
453 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
454 { "\"los_level\""s, ResultType::Return, "los_level"s },
455 { "\"none\""s, ResultType::Return, "none"s },
456 { "\"experiments\""s, ResultType::Return, "experiments"s },
457 { "\"lang\""s, ResultType::Return, "lang"s },
458 { "\"ru\""s, ResultType::Return, "ru"s },
459 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
460 { "\"los_level\""s, ResultType::Return, "los_level"s },
461 { "\"none\""s, ResultType::Return, "none"s },
462 { "\"experiments\""s, ResultType::Return, "experiments"s },
463 { "\"lang\""s, ResultType::Return, "lang"s },
464 { "\"ru\""s, ResultType::Return, "ru"s },
465 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
466 { "\"los_level\""s, ResultType::Return, "los_level"s },
467 { "\"none\""s, ResultType::Return, "none"s },
468 { "\"experiments\""s, ResultType::Return, "experiments"s },
469 { "\"lang\""s, ResultType::Return, "lang"s },
470 { "\"ru\""s, ResultType::Return, "ru"s },
471 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
472 { "\"los_level\""s, ResultType::Return, "los_level"s },
473 { "\"none\""s, ResultType::Return, "none"s },
474 { "\"experiments\""s, ResultType::Return, "experiments"s },
475 { "\"lang\""s, ResultType::Return, "lang"s },
476 { "\"ru\""s, ResultType::Return, "ru"s },
477 { "\"los_portal\""s, ResultType::Return, "los_portal"s },
478 { "\"los_level\""s, ResultType::Return, "los_level"s },
479 { "\"none\""s, ResultType::Return, "none"s },
480 { "\"__ym\""s, ResultType::Return, "__ym"s },
481 { "\"ecommerce\""s, ResultType::Return, "ecommerce"s },
482 { "\"currencyCode\""s, ResultType::Return, "currencyCode"s },
483 { "\"RUR\""s, ResultType::Return, "RUR"s },
484 { "\"impressions\""s, ResultType::Return, "impressions"s },
485 { "\"name\""s, ResultType::Return, "name"s },
486 { "\"Чайник электрический Mystery MEK-1627, белый\""s, ResultType::Return, "Чайник электрический Mystery MEK-1627, белый"s },
487 { "\"brand\""s, ResultType::Return, "brand"s },
488 { "\"Mystery\""s, ResultType::Return, "Mystery"s },
489 { "\"id\""s, ResultType::Return, "id"s },
490 { "\"187180\""s, ResultType::Return, "187180"s },
491 { "\"category\""s, ResultType::Return, "category"s },
492 { "\"Мелкая бытовая техника/Мелкие кухонные приборы/Чайники электрические/Mystery\""s, ResultType::Return, "Мелкая бытовая техника/Мелкие кухонные приборы/Чайники электрические/Mystery"s },
493 { "\"variant\""s, ResultType::Return, "variant"s },
494 { "\"В наличии\""s, ResultType::Return, "В наличии"s },
495 { "\"price\""s, ResultType::Return, "price"s },
496 { "\"1630.00\""s, ResultType::Return, "1630.00"s },
497 { "\"list\""s, ResultType::Return, "list"s },
498 { "\"Карточка\""s, ResultType::Return, "Карточка"s },
499 { "\"position\""s, ResultType::Return, "position"s },
500 { "\"detail\""s, ResultType::Return, "detail"s },
501 { "\"actionField\""s, ResultType::Return, "actionField"s },
502 { "\"list\""s, ResultType::Return, "list"s },
503 { "\0\""s, ResultType::Throw, "JSON: expected \", got \0"s },
504 { "\"/igrushki/konstruktory\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
505 { "\"/1290414/komplekt-zhenskiy-dzhemper-plusbryuki-m-254-09-malina-plustemno-siniy-\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
506 { "\"/Творчество/Рисование/Инструменты и кра\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
507 { "\"Строительство и ремонт/Силовая техника/Зарядные устройства для автомобильных аккумуляторов/Пуско-зарядные устр\xD0\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
508 { "\"Строительство и ремонт/Силовая техника/Зарядные устройств\xD0\0t"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
509 { "\"Строительство и ремонт/Силовая техника/Зарядные устройства для автомобиль\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
510 { "\0t"s, ResultType::Throw, "JSON: expected \", got \0"s },
511 { "\"/Хозтовары/Хранение вещей и организа\xD1\0t"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
512 { "\"/Хозтовары/Товары для стир\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
513 { "\"li\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
514 { "\"/734859/samolet-radioupravlyaemyy-istrebitel-rabotaet-o\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
515 { "\"/kosmetika-i-parfyum/parfyumeriya/mu\0t"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
516 { "\"/ko\0\x04"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
517 { ""s, ResultType::Throw, "JSON: begin >= end."s },
518 { "\"/stroitelstvo-i-remont/stroit\0t"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
519 { "\"/stroitelstvo-i-remont/stroitelnyy-instrument/av\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
520 { "\"/s\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
521 { "\"/Строительство и ремонт/Строительный инструмент/Изм\0e"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
522 { "\"/avto/soputstvuy\0l"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
523 { "\"/str\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
524 { "\"Отвертка 2 в 1 \\\"TUNDRA basic\\\" 5х75 мм (+,-) \0\xFF"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
525 { "\"/stroitelstvo-i-remont/stroitelnyy-instrument/avtoinstrumen\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
526 { "\"Мелкая бытовая техника/Мелки\xD0\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
527 { "\"Пряжа \\\"Бамбук стрейч\\0\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
528 { "\"Карандаш чёрнографитны\xD0\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
529 { "\"/Творчество/Рукоделие, аппликации/Пряжа и шерсть для \xD0\0l"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
530 { "\"/1071547/karandash-chernografitnyy-volshebstvo-nv-kruglyy-d-7-2mm-dl-176mm-plast-tuba/\0e"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
531 { "\"ca\0e"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
532 { "\"ca\0e"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
533 { "\"/1165424/chipbord-vyrubnoy-dlya-skrapbukinga-malyshi-mikki-maus-disney-bebi\0t"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
534 { "\"/posuda/kuhonnye-prinadlezhnosti-i-i\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
535 { "\"/Канцтовары/Ежедневники и блокн\xD0\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
536 { "\"/kanctovary/ezhednevniki-i-blok\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
537 { "\"Стакан \xD0\0a"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
538 { "\"Набор бумаги для скрапбукинга \\\"Мои первый годик\\\": Микки Маус, Дисней бэби, 12 листов 29.5 х 29.5 см, 160\0\x80"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
539 { "\"c\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
540 { "\"Органайзер для хранения аксессуаров, \0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
541 { "\"quantity\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
542 { "\"Сменный блок для тетрадей на кольцах А5, 160 листов клетка, офсет \xE2\x84\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
543 { "\"/Сувениры/Ф\xD0\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
544 { "\"\0\""s, ResultType::Return, "\0"s },
545 { "\"\0\x04"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
546 { "\"va\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
547 { "\"ca\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
548 { "\"В \0\x04"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
549 { "\"/letnie-tovary/z\0\x04"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
550 { "\"Посудомоечная машина Ha\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
551 { "\"Крупная бытов\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
552 { "\"Полочная акустическая система Magnat Needl\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
553 { "\"brand\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
554 { "\"\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
555 { "\"pos\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
556 { "\"c\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
557 { "\"var\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
558 { "\"Телевизоры и видеотехника/Всё для домашних кинотеатр\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
559 { "\"Флеш-диск Transcend JetFlash 620 8GB (TS8GJF62\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
560 { "\"Табурет Мег\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
561 { "\"variant\0\x04"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
562 { "\"Катал\xD0\0\""s, ResultType::Return, "Катал\xD0\0"s },
563 { "\"К\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
564 { "\"Полочная акустическая система Magnat Needl\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
565 { "\"brand\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
566 { "\"\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
567 { "\"pos\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
568 { "\"c\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
569 { "\"17\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
570 { "\"/igrushki/razvivayusc\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
571 { "\"Ключница \\\"\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
572 { "\"/Игр\xD1\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
573 { "\"/Игрушки/Игрушки для девочек/Игровые модули дл\xD1\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
574 { "\"Крупная бытовая техника/Стиральные машины/С фронт\xD0\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
575 { "\0 "s, ResultType::Throw, "JSON: expected \", got \0"s },
576 { "\"Светодиодная лента SMD3528, 5 м. IP33, 60LED, зеленый, 4,8W/мет\xD1\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
577 { "\"Сантехника/Мебель для ванных комнат/Стол\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
578 { "\0o"s, ResultType::Throw, "JSON: expected \", got \0"s },
579 { "\"/igrushki/konstruktory\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
580 { "\"/posuda/kuhonnye-prinadlezhnosti-i-instrumenty/kuhonnye-pr\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
581 { "\"/1290414/komplekt-zhenskiy-dzhemper-plusbryuki-m-254-09-malina-plustemno-siniy-\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
582 { "\"/Творчество/Рисование/Инструменты и кра\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
583 { "\"Строительство и ремонт/Силовая техника/Зарядные устройства для автомобильных аккумуляторов/Пуско-зарядные устр\xD0\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
584 { "\"Строительство и ремонт/Силовая техника/Зарядные устройств\xD0\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
585 { "\"Строительство и ремонт/Силовая техника/Зарядные устройства для автомобиль\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
586 { "\0 "s, ResultType::Throw, "JSON: expected \", got \0"s },
587 { "\"/Хозтовары/Хранение вещей и организа\xD1\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
588 { "\"/Хозтовары/Товары для стир\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
589 { "\"li\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
590 { "\"/igrushki/igrus\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
591 { "\"/734859/samolet-radioupravlyaemyy-istrebitel-rabotaet-o\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
592 { "\"/kosmetika-i-parfyum/parfyumeriya/mu\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
593 { "\"/ko\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
594 { "\"/avto/avtomobilnyy\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
595 { "\"/stroitelstvo-i-remont/stroit\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
596 { "\"/stroitelstvo-i-remont/stroitelnyy-instrument/av\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
597 { "\"/s\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
598 { "\"/Строительство и ремонт/Строительный инструмент/Изм\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
599 { "\"/avto/soputstvuy\0\""s, ResultType::Return, "/avto/soputstvuy\0"s },
600 { "\"/str\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
601 { "\"Отвертка 2 в 1 \\\"TUNDRA basic\\\" 5х75 мм (+,-) \0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
602 { "\"/stroitelstvo-i-remont/stroitelnyy-instrument/avtoinstrumen\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
603 { "\"Чайник электрический Vitesse\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
604 { "\"Мелкая бытовая техника/Мелки\xD0\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
605 { "\"Пряжа \\\"Бамбук стрейч\\0о"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
606 { "\"Карандаш чёрнографитны\xD0\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
607 { "\"/Творчество/Рукоделие, аппликации/Пряжа и шерсть для \xD0\0\""s, ResultType::Return, "/Творчество/Рукоделие, аппликации/Пряжа и шерсть для \xD0\0"s },
608 { "\"/1071547/karandash-chernografitnyy-volshebstvo-nv-kruglyy-d-7-2mm-dl-176mm-plast-tuba/\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
609 { "\"ca\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
610 { "\"/Подаро\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
611 { "\"Средство для прочис\xD1\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
612 { "\"i\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
613 { "\"/p\0\""s, ResultType::Return, "/p\0"s },
614 { "\"/Сувениры/Магниты, н\xD0\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
615 { "\"Дерев\xD0\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
616 { "\"/prazdniki/svadba/svadebnaya-c\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
617 { "\"/Канцт\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
618 { "\"/Праздники/То\xD0\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
619 { "\"v\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
620 { "\"/Косметика \xD0\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
621 { "\"/Спорт и отдых/Настольные игры/Покер, руле\xD1\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
622 { "\"categ\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
623 { "\"/retailr\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
624 { "\"/retailrocket\0k"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
625 { "\"Ежедневник недат А5 140л кл,ляссе,обл пв\0="s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
626 { "\"/432809/ezhednevnik-organayzer-sredniy-s-remeshkom-na-knopke-v-oblozhke-kalkulyator-kalendar-do-\0\xD0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
627 { "\"/1165424/chipbord-vyrubnoy-dlya-skrapbukinga-malyshi-mikki-maus-disney-bebi\0d"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
628 { "\"/posuda/kuhonnye-prinadlezhnosti-i-i\0 "s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
629 { "\"/Канцтовары/Ежедневники и блокн\xD0\0o"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
630 { "\"/kanctovary/ezhednevniki-i-blok\00"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
631 { "\"Стакан \xD0\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
632 { "\"Набор бумаги для скрапбукинга \\\"Мои первый годик\\\": Микки Маус, Дисней бэби, 12 листов 29.5 х 29.5 см, 160\0\0"s, ResultType::Throw, "JSON: incorrect syntax (expected end of string, found end of JSON)."s },
633 { "\"c\0\""s, ResultType::Return, "c\0"s },
634 };
635
636 for (auto i : boost::irange(0, 1/*00000*/))
637 {
638 static_cast<void>(i);
639
640 for (auto & r : test_data)
641 {
642 try
643 {
644 JSON j(r.input.c_str(), r.input.c_str() + r.input.size());
645
646 ASSERT_EQ(j.getString(), r.result);
647 ASSERT_TRUE(r.result_type == ResultType::Return);
648 }
649 catch (JSONException & e)
650 {
651 ASSERT_TRUE(r.result_type == ResultType::Throw);
652 ASSERT_EQ(e.message(), r.result);
653 }
654 }
655 }
656}
657