|
1 | 1 | package jid |
2 | 2 |
|
3 | 3 | import ( |
4 | | - "github.com/stretchr/testify/assert" |
5 | 4 | "testing" |
| 5 | + |
| 6 | + "github.com/stretchr/testify/assert" |
6 | 7 | ) |
7 | 8 |
|
8 | 9 | func TestValidate(t *testing.T) { |
@@ -226,22 +227,22 @@ func TestGetKeywords(t *testing.T) { |
226 | 227 |
|
227 | 228 | v := []rune(".test.name") |
228 | 229 | q := NewQuery(v) |
229 | | - assert.Equal(q.GetKeywords(), [][]rune{ |
| 230 | + assert.Equal([][]rune{ |
230 | 231 | []rune("test"), |
231 | 232 | []rune("name"), |
232 | | - }) |
| 233 | + }, q.GetKeywords()) |
233 | 234 |
|
234 | 235 | v = []rune("") |
235 | 236 | q = NewQuery(v) |
236 | | - assert.Equal(q.GetKeywords(), [][]rune{}) |
| 237 | + assert.Equal([][]rune{}, q.GetKeywords()) |
237 | 238 |
|
238 | 239 | v = []rune(".test.name.") |
239 | 240 | q = NewQuery(v) |
240 | | - assert.Equal(q.GetKeywords(), [][]rune{ |
| 241 | + assert.Equal([][]rune{ |
241 | 242 | []rune("test"), |
242 | 243 | []rune("name"), |
243 | 244 | []rune(""), |
244 | | - }) |
| 245 | + }, q.GetKeywords()) |
245 | 246 |
|
246 | 247 | v = []rune(".hello") |
247 | 248 | q = NewQuery(v) |
@@ -295,6 +296,25 @@ func TestGetKeywords(t *testing.T) { |
295 | 296 | []rune("[0]"), |
296 | 297 | }) |
297 | 298 |
|
| 299 | +} |
| 300 | +func TestGetKeywordsWithDots(t *testing.T) { |
| 301 | + var assert = assert.New(t) |
| 302 | + |
| 303 | + v := []rune(`.test.\"na.me\"`) |
| 304 | + q := NewQuery(v) |
| 305 | + assert.Equal([][]rune{ |
| 306 | + []rune("test"), |
| 307 | + []rune("na.me"), |
| 308 | + }, q.GetKeywords()) |
| 309 | + |
| 310 | + v = []rune(`.test.\"na.me\`) |
| 311 | + q = NewQuery(v) |
| 312 | + assert.Equal([][]rune{ |
| 313 | + []rune("test"), |
| 314 | + []rune("na"), |
| 315 | + []rune(`me\`), |
| 316 | + }, q.GetKeywords()) |
| 317 | + |
298 | 318 | } |
299 | 319 |
|
300 | 320 | func TestGetLastKeyword(t *testing.T) { |
@@ -343,16 +363,56 @@ func TestPopKeyword(t *testing.T) { |
343 | 363 | v := []rune(".test.name") |
344 | 364 | q := NewQuery(v) |
345 | 365 | k, query := q.PopKeyword() |
346 | | - assert.Equal(k, []rune("name")) |
347 | | - assert.Equal(query, []rune(".test")) |
348 | | - assert.Equal(q.Get(), []rune(".test")) |
| 366 | + assert.Equal([]rune("name"), k) |
| 367 | + assert.Equal([]rune(".test"), query) |
| 368 | + assert.Equal([]rune(".test"), q.Get()) |
| 369 | + |
| 370 | + v = []rune(".a[0") |
| 371 | + q = NewQuery(v) |
| 372 | + k, query = q.PopKeyword() |
| 373 | + assert.Equal([]rune("[0"), k) |
| 374 | + assert.Equal([]rune(".a"), query) |
| 375 | + assert.Equal([]rune(".a"), q.Get()) |
| 376 | + |
| 377 | + k, query = q.PopKeyword() |
| 378 | + assert.Equal([]rune("a"), k) |
| 379 | + assert.Equal([]rune(""), query) |
| 380 | + assert.Equal([]rune(""), q.Get()) |
| 381 | + |
| 382 | + v = []rune(".") |
| 383 | + q = NewQuery(v) |
| 384 | + k, query = q.PopKeyword() |
| 385 | + assert.Equal([]rune(""), k) |
| 386 | + assert.Equal([]rune(""), query) |
| 387 | + assert.Equal([]rune(""), q.Get()) |
349 | 388 |
|
350 | 389 | v = []rune(".test.name.") |
351 | 390 | q = NewQuery(v) |
352 | 391 | k, query = q.PopKeyword() |
353 | | - assert.Equal(k, []rune("")) |
354 | | - assert.Equal(query, []rune(".test.name")) |
355 | | - assert.Equal(q.Get(), []rune(".test.name")) |
| 392 | + assert.Equal([]rune(""), k) |
| 393 | + assert.Equal([]rune(".test.name"), query) |
| 394 | + assert.Equal([]rune(".test.name"), q.Get()) |
| 395 | + |
| 396 | + v = []rune(`.name.\"te.st\"`) |
| 397 | + q = NewQuery(v) |
| 398 | + k, query = q.PopKeyword() |
| 399 | + assert.Equal([]rune("te.st"), k) |
| 400 | + assert.Equal([]rune(".name"), query) |
| 401 | + assert.Equal([]rune(".name"), q.Get()) |
| 402 | + |
| 403 | + v = []rune(`.name.\"te.st\".hoge`) |
| 404 | + q = NewQuery(v) |
| 405 | + k, query = q.PopKeyword() |
| 406 | + assert.Equal([]rune("hoge"), k) |
| 407 | + assert.Equal([]rune(`.name.\"te.st\"`), query) |
| 408 | + assert.Equal([]rune(`.name.\"te.st\"`), q.Get()) |
| 409 | + |
| 410 | + v = []rune(`.name.\"te`) |
| 411 | + q = NewQuery(v) |
| 412 | + k, query = q.PopKeyword() |
| 413 | + assert.Equal([]rune(`te`), k) |
| 414 | + assert.Equal([]rune(`.name`), query) |
| 415 | + assert.Equal([]rune(`.name`), q.Get()) |
356 | 416 | } |
357 | 417 |
|
358 | 418 | func TestQueryStringGet(t *testing.T) { |
|
0 commit comments