MCPcopy Create free account
hub / github.com/boostorg/json / testString

Function testString

test/basic_parser.cpp:451–513  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

449 }
450
451 void
452 testString()
453 {
454 TEST_GOOD(R"jv( "x" )jv");
455 TEST_GOOD(R"jv( "xy" )jv");
456 TEST_GOOD(R"jv( "x y" )jv");
457
458 // escapes
459 TEST_GOOD(R"jv(" \" ")jv");
460 TEST_GOOD(R"jv(" \\ ")jv");
461 TEST_GOOD(R"jv(" \/ ")jv");
462 TEST_GOOD(R"jv(" \b ")jv");
463 TEST_GOOD(R"jv(" \f ")jv");
464 TEST_GOOD(R"jv(" \n ")jv");
465 TEST_GOOD(R"jv(" \r ")jv");
466 TEST_GOOD(R"jv(" \t ")jv");
467
468 // utf-16 escapes
469 TEST_GOOD(R"jv( " \u0000 " )jv");
470 TEST_GOOD(R"jv( " \ud7ff " )jv");
471 TEST_GOOD(R"jv( " \ue000 " )jv");
472 TEST_GOOD(R"jv( " \uffff " )jv");
473 TEST_GOOD(R"jv( " \ud800\udc00 " )jv");
474 TEST_GOOD(R"jv( " \udbff\udfff " )jv");
475 TEST_GOOD(R"jv( " \n\u0000 " )jv");
476
477 // escape in key
478 TEST_GOOD(R"jv( {" \n":null} )jv");
479
480 // incomplete
481 TEST_BAD ("\"");
482
483 // illegal control character
484 TEST_BAD ((string_view{ "\"" "\x00" "\"", 3 }));
485 TEST_BAD ("\"" "\x1f" "\"");
486 TEST_BAD ("\"" "\\n" "\x1f" "\"");
487
488 // incomplete escape
489 TEST_BAD (R"jv( "\" )jv");
490
491 // invalid escape
492 TEST_BAD (R"jv( "\z" )jv");
493
494 // utf-16 escape, fast path,
495 // invalid surrogate
496 TEST_BAD (R"jv( " \u---- " )jv");
497 TEST_BAD (R"jv( " \ud--- " )jv");
498 TEST_BAD (R"jv( " \ud8-- " )jv");
499 TEST_BAD (R"jv( " \ud80- " )jv");
500 // invalid low surrogate
501 TEST_BAD (R"jv( " \ud800------ " )jv");
502 TEST_BAD (R"jv( " \ud800\----- " )jv");
503 TEST_BAD (R"jv( " \ud800\u---- " )jv");
504 TEST_BAD (R"jv( " \ud800\ud--- " )jv");
505 TEST_BAD (R"jv( " \ud800\udc-- " )jv");
506 TEST_BAD (R"jv( " \ud800\udc0- " )jv");
507 // illegal leading surrogate
508 TEST_BAD (R"jv( " \udc00 " )jv");

Callers 5

runMethod · 0.85
runMethod · 0.85
runFunction · 0.85
runMethod · 0.85
runMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected