Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Side by Side Diff: third_party/sqlite/src/test/json101.test

Issue 2751253002: [sql] Import SQLite 3.17.0. (Closed)
Patch Set: also clang on Linux i386 Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/sqlite/src/test/journal2.test ('k') | third_party/sqlite/src/test/json103.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 2015-08-12 1 # 2015-08-12
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 7.5 0 char(0x0C) 335 7.5 0 char(0x0C)
336 7.6 1 char(0x20,0x09,0x0a,0x0d,0x20) 336 7.6 1 char(0x20,0x09,0x0a,0x0d,0x20)
337 7.7 0 char(0x20,0x09,0x0a,0x0c,0x0d,0x20) 337 7.7 0 char(0x20,0x09,0x0a,0x0c,0x0d,0x20)
338 } { 338 } {
339 do_execsql_test json-$tn.1 \ 339 do_execsql_test json-$tn.1 \
340 "SELECT json_valid(printf('%s{%s\"x\"%s:%s9%s}%s', 340 "SELECT json_valid(printf('%s{%s\"x\"%s:%s9%s}%s',
341 $::ws,$::ws,$::ws,$::ws,$::ws,$::ws));" \ 341 $::ws,$::ws,$::ws,$::ws,$::ws,$::ws));" \
342 $isvalid 342 $isvalid
343 } 343 }
344 344
345 # Ticket https://www.sqlite.org/src/info/ad2559db380abf8e
346 # Control characters must be escaped in JSON strings.
347 #
348 do_execsql_test json-8.1 {
349 DROP TABLE IF EXISTS t8;
350 CREATE TABLE t8(a,b);
351 INSERT INTO t8(a) VALUES('abc' || char(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) || 'xyz');
352 UPDATE t8 SET b=json_array(a);
353 SELECT b FROM t8;
354 } {{["abc\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\ u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u0 01d\u001e\u001f !\"#xyz"]}}
355 do_execsql_test json-8.2 {
356 SELECT a=json_extract(b,'$[0]') FROM t8;
357 } {1}
358
359 # The json_quote() function transforms an SQL value into a JSON value.
360 # String values are quoted and interior quotes are escaped. NULL values
361 # are rendered as the unquoted string "null".
362 #
363 do_execsql_test json-9.1 {
364 SELECT json_quote('abc"xyz');
365 } {{"abc\"xyz"}}
366 do_execsql_test json-9.2 {
367 SELECT json_quote(3.14159);
368 } {3.14159}
369 do_execsql_test json-9.3 {
370 SELECT json_quote(12345);
371 } {12345}
372 do_execsql_test json-9.4 {
373 SELECT json_quote(null);
374 } {"null"}
375 do_catchsql_test json-9.5 {
376 SELECT json_quote(x'30313233');
377 } {1 {JSON cannot hold BLOB values}}
378 do_catchsql_test json-9.6 {
379 SELECT json_quote(123,456)
380 } {1 {wrong number of arguments to function json_quote()}}
381 do_catchsql_test json-9.7 {
382 SELECT json_quote()
383 } {1 {wrong number of arguments to function json_quote()}}
384
385 # Make sure only valid backslash-escapes are accepted.
386 #
387 do_execsql_test json-10.1 {
388 SELECT json_valid('" \ "');
389 } {0}
390 do_execsql_test json-10.2 {
391 SELECT json_valid('" \! "');
392 } {0}
393 do_execsql_test json-10.3 {
394 SELECT json_valid('" \" "');
395 } {1}
396 do_execsql_test json-10.4 {
397 SELECT json_valid('" \# "');
398 } {0}
399 do_execsql_test json-10.5 {
400 SELECT json_valid('" \$ "');
401 } {0}
402 do_execsql_test json-10.6 {
403 SELECT json_valid('" \% "');
404 } {0}
405 do_execsql_test json-10.7 {
406 SELECT json_valid('" \& "');
407 } {0}
408 do_execsql_test json-10.8 {
409 SELECT json_valid('" \'' "');
410 } {0}
411 do_execsql_test json-10.9 {
412 SELECT json_valid('" \( "');
413 } {0}
414 do_execsql_test json-10.10 {
415 SELECT json_valid('" \) "');
416 } {0}
417 do_execsql_test json-10.11 {
418 SELECT json_valid('" \* "');
419 } {0}
420 do_execsql_test json-10.12 {
421 SELECT json_valid('" \+ "');
422 } {0}
423 do_execsql_test json-10.13 {
424 SELECT json_valid('" \, "');
425 } {0}
426 do_execsql_test json-10.14 {
427 SELECT json_valid('" \- "');
428 } {0}
429 do_execsql_test json-10.15 {
430 SELECT json_valid('" \. "');
431 } {0}
432 do_execsql_test json-10.16 {
433 SELECT json_valid('" \/ "');
434 } {1}
435 do_execsql_test json-10.17 {
436 SELECT json_valid('" \0 "');
437 } {0}
438 do_execsql_test json-10.18 {
439 SELECT json_valid('" \1 "');
440 } {0}
441 do_execsql_test json-10.19 {
442 SELECT json_valid('" \2 "');
443 } {0}
444 do_execsql_test json-10.20 {
445 SELECT json_valid('" \3 "');
446 } {0}
447 do_execsql_test json-10.21 {
448 SELECT json_valid('" \4 "');
449 } {0}
450 do_execsql_test json-10.22 {
451 SELECT json_valid('" \5 "');
452 } {0}
453 do_execsql_test json-10.23 {
454 SELECT json_valid('" \6 "');
455 } {0}
456 do_execsql_test json-10.24 {
457 SELECT json_valid('" \7 "');
458 } {0}
459 do_execsql_test json-10.25 {
460 SELECT json_valid('" \8 "');
461 } {0}
462 do_execsql_test json-10.26 {
463 SELECT json_valid('" \9 "');
464 } {0}
465 do_execsql_test json-10.27 {
466 SELECT json_valid('" \: "');
467 } {0}
468 do_execsql_test json-10.28 {
469 SELECT json_valid('" \; "');
470 } {0}
471 do_execsql_test json-10.29 {
472 SELECT json_valid('" \< "');
473 } {0}
474 do_execsql_test json-10.30 {
475 SELECT json_valid('" \= "');
476 } {0}
477 do_execsql_test json-10.31 {
478 SELECT json_valid('" \> "');
479 } {0}
480 do_execsql_test json-10.32 {
481 SELECT json_valid('" \? "');
482 } {0}
483 do_execsql_test json-10.33 {
484 SELECT json_valid('" \@ "');
485 } {0}
486 do_execsql_test json-10.34 {
487 SELECT json_valid('" \A "');
488 } {0}
489 do_execsql_test json-10.35 {
490 SELECT json_valid('" \B "');
491 } {0}
492 do_execsql_test json-10.36 {
493 SELECT json_valid('" \C "');
494 } {0}
495 do_execsql_test json-10.37 {
496 SELECT json_valid('" \D "');
497 } {0}
498 do_execsql_test json-10.38 {
499 SELECT json_valid('" \E "');
500 } {0}
501 do_execsql_test json-10.39 {
502 SELECT json_valid('" \F "');
503 } {0}
504 do_execsql_test json-10.40 {
505 SELECT json_valid('" \G "');
506 } {0}
507 do_execsql_test json-10.41 {
508 SELECT json_valid('" \H "');
509 } {0}
510 do_execsql_test json-10.42 {
511 SELECT json_valid('" \I "');
512 } {0}
513 do_execsql_test json-10.43 {
514 SELECT json_valid('" \J "');
515 } {0}
516 do_execsql_test json-10.44 {
517 SELECT json_valid('" \K "');
518 } {0}
519 do_execsql_test json-10.45 {
520 SELECT json_valid('" \L "');
521 } {0}
522 do_execsql_test json-10.46 {
523 SELECT json_valid('" \M "');
524 } {0}
525 do_execsql_test json-10.47 {
526 SELECT json_valid('" \N "');
527 } {0}
528 do_execsql_test json-10.48 {
529 SELECT json_valid('" \O "');
530 } {0}
531 do_execsql_test json-10.49 {
532 SELECT json_valid('" \P "');
533 } {0}
534 do_execsql_test json-10.50 {
535 SELECT json_valid('" \Q "');
536 } {0}
537 do_execsql_test json-10.51 {
538 SELECT json_valid('" \R "');
539 } {0}
540 do_execsql_test json-10.52 {
541 SELECT json_valid('" \S "');
542 } {0}
543 do_execsql_test json-10.53 {
544 SELECT json_valid('" \T "');
545 } {0}
546 do_execsql_test json-10.54 {
547 SELECT json_valid('" \U "');
548 } {0}
549 do_execsql_test json-10.55 {
550 SELECT json_valid('" \V "');
551 } {0}
552 do_execsql_test json-10.56 {
553 SELECT json_valid('" \W "');
554 } {0}
555 do_execsql_test json-10.57 {
556 SELECT json_valid('" \X "');
557 } {0}
558 do_execsql_test json-10.58 {
559 SELECT json_valid('" \Y "');
560 } {0}
561 do_execsql_test json-10.59 {
562 SELECT json_valid('" \Z "');
563 } {0}
564 do_execsql_test json-10.60 {
565 SELECT json_valid('" \[ "');
566 } {0}
567 do_execsql_test json-10.61 {
568 SELECT json_valid('" \\ "');
569 } {1}
570 do_execsql_test json-10.62 {
571 SELECT json_valid('" \] "');
572 } {0}
573 do_execsql_test json-10.63 {
574 SELECT json_valid('" \^ "');
575 } {0}
576 do_execsql_test json-10.64 {
577 SELECT json_valid('" \_ "');
578 } {0}
579 do_execsql_test json-10.65 {
580 SELECT json_valid('" \` "');
581 } {0}
582 do_execsql_test json-10.66 {
583 SELECT json_valid('" \a "');
584 } {0}
585 do_execsql_test json-10.67 {
586 SELECT json_valid('" \b "');
587 } {1}
588 do_execsql_test json-10.68 {
589 SELECT json_valid('" \c "');
590 } {0}
591 do_execsql_test json-10.69 {
592 SELECT json_valid('" \d "');
593 } {0}
594 do_execsql_test json-10.70 {
595 SELECT json_valid('" \e "');
596 } {0}
597 do_execsql_test json-10.71 {
598 SELECT json_valid('" \f "');
599 } {1}
600 do_execsql_test json-10.72 {
601 SELECT json_valid('" \g "');
602 } {0}
603 do_execsql_test json-10.73 {
604 SELECT json_valid('" \h "');
605 } {0}
606 do_execsql_test json-10.74 {
607 SELECT json_valid('" \i "');
608 } {0}
609 do_execsql_test json-10.75 {
610 SELECT json_valid('" \j "');
611 } {0}
612 do_execsql_test json-10.76 {
613 SELECT json_valid('" \k "');
614 } {0}
615 do_execsql_test json-10.77 {
616 SELECT json_valid('" \l "');
617 } {0}
618 do_execsql_test json-10.78 {
619 SELECT json_valid('" \m "');
620 } {0}
621 do_execsql_test json-10.79 {
622 SELECT json_valid('" \n "');
623 } {1}
624 do_execsql_test json-10.80 {
625 SELECT json_valid('" \o "');
626 } {0}
627 do_execsql_test json-10.81 {
628 SELECT json_valid('" \p "');
629 } {0}
630 do_execsql_test json-10.82 {
631 SELECT json_valid('" \q "');
632 } {0}
633 do_execsql_test json-10.83 {
634 SELECT json_valid('" \r "');
635 } {1}
636 do_execsql_test json-10.84 {
637 SELECT json_valid('" \s "');
638 } {0}
639 do_execsql_test json-10.85 {
640 SELECT json_valid('" \t "');
641 } {1}
642 do_execsql_test json-10.86.0 {
643 SELECT json_valid('" \u "');
644 } {0}
645 do_execsql_test json-10.86.1 {
646 SELECT json_valid('" \ua "');
647 } {0}
648 do_execsql_test json-10.86.2 {
649 SELECT json_valid('" \uab "');
650 } {0}
651 do_execsql_test json-10.86.3 {
652 SELECT json_valid('" \uabc "');
653 } {0}
654 do_execsql_test json-10.86.4 {
655 SELECT json_valid('" \uabcd "');
656 } {1}
657 do_execsql_test json-10.86.5 {
658 SELECT json_valid('" \uFEDC "');
659 } {1}
660 do_execsql_test json-10.86.6 {
661 SELECT json_valid('" \u1234 "');
662 } {1}
663 do_execsql_test json-10.87 {
664 SELECT json_valid('" \v "');
665 } {0}
666 do_execsql_test json-10.88 {
667 SELECT json_valid('" \w "');
668 } {0}
669 do_execsql_test json-10.89 {
670 SELECT json_valid('" \x "');
671 } {0}
672 do_execsql_test json-10.90 {
673 SELECT json_valid('" \y "');
674 } {0}
675 do_execsql_test json-10.91 {
676 SELECT json_valid('" \z "');
677 } {0}
678 do_execsql_test json-10.92 {
679 SELECT json_valid('" \{ "');
680 } {0}
681 do_execsql_test json-10.93 {
682 SELECT json_valid('" \| "');
683 } {0}
684 do_execsql_test json-10.94 {
685 SELECT json_valid('" \} "');
686 } {0}
687 do_execsql_test json-10.95 {
688 SELECT json_valid('" \~ "');
689 } {0}
690
691
345 finish_test 692 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/journal2.test ('k') | third_party/sqlite/src/test/json103.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698