Lines Matching full:std
41 events.push_back("number_integer(" + std::to_string(val) + ")"); in number_integer()
47 events.push_back("number_unsigned(" + std::to_string(val) + ")"); in number_unsigned()
51 bool number_float(json::number_float_t /*val*/, const std::string& s) override in number_float()
57 bool string(std::string& val) override in string()
65 std::string binary_contents = "binary("; in binary()
66 std::string comma_space; in binary()
70 binary_contents.append(std::to_string(static_cast<int>(b))); in binary()
78 bool start_object(std::size_t elements) override in start_object()
80 if (elements == static_cast<std::size_t>(-1)) in start_object()
86 events.push_back("start_object(" + std::to_string(elements) + ")"); in start_object()
91 bool key(std::string& val) override in key()
103 bool start_array(std::size_t elements) override in start_array()
105 if (elements == static_cast<std::size_t>(-1)) in start_array()
111 events.push_back("start_array(" + std::to_string(elements) + ")"); in start_array()
122 …bool parse_error(std::size_t position, const std::string& /*last_token*/, const json::exception& /… in parse_error()
124 events.push_back("parse_error(" + std::to_string(position) + ")"); in parse_error()
128 std::vector<std::string> events {};
133 bool start_object(std::size_t elements) override in start_object()
135 if (elements == static_cast<std::size_t>(-1)) in start_object()
141 events.push_back("start_object(" + std::to_string(elements) + ")"); in start_object()
149 bool key(std::string& val) override in key()
158 bool start_array(std::size_t elements) override in start_array()
160 if (elements == static_cast<std::size_t>(-1)) in start_array()
166 events.push_back("start_array(" + std::to_string(elements) + ")"); in start_array()
177 using value_type = typename std::iterator_traits<iterator>::value_type;
178 using reference = typename std::iterator_traits<iterator>::reference;
179 using pointer = typename std::iterator_traits<iterator>::pointer;
181 typename std::iterator_traits<iterator>::difference_type;
182 using iterator_category = std::input_iterator_tag;
185 explicit proxy_iterator(iterator& it) : m_it(std::addressof(it)) {} in proxy_iterator()
225 std::stringstream ss1;
226 std::stringstream ss2;
227 std::stringstream ss3;
238 CHECK(l.events == std::vector<std::string>(
257 CHECK(l.events == std::vector<std::string>(
276 CHECK(l.events == std::vector<std::string>(
287 std::stringstream ss;
296 std::stringstream ss;
313 std::stringstream ss1;
314 std::stringstream ss3;
315 std::stringstream ss4;
316 std::stringstream ss5;
333 CHECK(l.events == std::vector<std::string>(
356 CHECK(l.events == std::vector<std::string>(
367 std::stringstream ss;
375 std::stringstream ss;
391 SECTION("from std::vector")
393 std::vector<uint8_t> v = {'t', 'r', 'u', 'e'};
400 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
403 SECTION("from std::array")
405 std::array<uint8_t, 5> v { {'t', 'r', 'u', 'e'} };
412 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
424 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
441 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
446 SECTION("from std::string")
448 std::string v = {'t', 'r', 'u', 'e'};
455 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
458 SECTION("from std::initializer_list")
460 std::initializer_list<uint8_t> v = {'t', 'r', 'u', 'e'};
467 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
472 std::vector<uint8_t> v;
480 CHECK(l.events == std::vector<std::string>({"parse_error(1)"}));
486 SECTION("from std::vector")
488 std::vector<uint8_t> v = {'t', 'r', 'u', 'e'};
489 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
490 CHECK(json::accept(std::begin(v), std::end(v)));
493 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
495 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
499 SECTION("from std::array")
501 std::array<uint8_t, 5> v { {'t', 'r', 'u', 'e'} };
502 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
503 CHECK(json::accept(std::begin(v), std::end(v)));
506 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
508 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
514 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
515 CHECK(json::accept(std::begin(v), std::end(v)));
518 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
520 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
523 SECTION("from std::string")
525 std::string v = {'t', 'r', 'u', 'e'};
526 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
527 CHECK(json::accept(std::begin(v), std::end(v)));
530 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
532 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
535 SECTION("from std::initializer_list")
537 std::initializer_list<uint8_t> v = {'t', 'r', 'u', 'e'};
538 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
539 CHECK(json::accept(std::begin(v), std::end(v)));
542 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
544 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
547 SECTION("from std::valarray")
549 std::valarray<uint8_t> v = {'t', 'r', 'u', 'e'};
550 CHECK(json::parse(std::begin(v), std::end(v)) == json(true));
551 CHECK(json::accept(std::begin(v), std::end(v)));
554 CHECK(json::sax_parse(std::begin(v), std::end(v), &l));
556 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
561 std::vector<uint8_t> v;
563 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
564 CHECK(!json::accept(std::begin(v), std::end(v)));
567 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
569 CHECK(l.events == std::vector<std::string>({"parse_error(1)"}));
577 using proxy = proxy_iterator<std::string>;
579 std::string str1 = "[1]";
580 std::string str2 = "[2]";
581 std::string str = str1 + str2;
591 CHECK(std::string(first, last) == str2);
600 std::array<std::uint8_t, 9> v = {{'\"', 'a', 'a', 'a', 'a', 'a', 'a', '\\', 'u'}};
602 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
603 CHECK(!json::accept(std::begin(v), std::end(v)));
606 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
610 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
612 CHECK(l.events == std::vector<std::string>({"parse_error(10)"}));
617 … std::array<std::uint8_t, 10> v = {{'\"', 'a', 'a', 'a', 'a', 'a', 'a', '\\', 'u', '1'}};
619 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
620 CHECK(!json::accept(std::begin(v), std::end(v)));
623 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
627 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
629 CHECK(l.events == std::vector<std::string>({"parse_error(11)"}));
634 …std::array<std::uint8_t, 17> v = {{'\"', 'a', 'a', 'a', 'a', 'a', 'a', '\\', 'u', '1', '1', '1', '…
636 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
637 CHECK(!json::accept(std::begin(v), std::end(v)));
640 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
644 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
646 CHECK(l.events == std::vector<std::string>({"parse_error(18)"}));
651 …std::array<std::uint8_t, 17> v = {{'\"', 'a', 'a', 'a', 'a', 'a', 'a', 'u', '1', '1', '1', '1', '1…
653 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
654 CHECK(!json::accept(std::begin(v), std::end(v)));
657 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
661 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
663 CHECK(l.events == std::vector<std::string>({"parse_error(18)"}));
668 std::array<std::uint8_t, 3> v = {{'\"', 0x7F, 0xC1}};
670 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
671 CHECK(!json::accept(std::begin(v), std::end(v)));
674 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
678 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
680 CHECK(l.events == std::vector<std::string>({"parse_error(3)"}));
685 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xDF, 0x7F}};
687 …CHECK_THROWS_WITH_AS(_ = json::parse(std::begin(v), std::end(v)), "[json.exception.parse_error.101…
688 CHECK(!json::accept(std::begin(v), std::end(v)));
691 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
695 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
697 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
702 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xDF, 0xC0}};
704 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
705 CHECK(!json::accept(std::begin(v), std::end(v)));
708 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
712 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
714 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
719 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xE0, 0x9F}};
721 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
722 CHECK(!json::accept(std::begin(v), std::end(v)));
725 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
729 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
731 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
736 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xEF, 0xC0}};
738 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
739 CHECK(!json::accept(std::begin(v), std::end(v)));
742 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
746 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
748 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
753 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xED, 0x7F}};
755 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
756 CHECK(!json::accept(std::begin(v), std::end(v)));
759 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
763 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
765 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
770 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xF0, 0x8F}};
772 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
773 CHECK(!json::accept(std::begin(v), std::end(v)));
776 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
780 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
782 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
787 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xF0, 0xC0}};
789 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
790 CHECK(!json::accept(std::begin(v), std::end(v)));
793 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
797 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
799 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
804 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xF3, 0x7F}};
806 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
807 CHECK(!json::accept(std::begin(v), std::end(v)));
810 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
814 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
816 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
821 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xF3, 0xC0}};
823 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
824 CHECK(!json::accept(std::begin(v), std::end(v)));
827 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
831 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
833 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
838 std::array<std::uint8_t, 4> v = {{'\"', 0x7F, 0xF4, 0x7F}};
840 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
841 CHECK(!json::accept(std::begin(v), std::end(v)));
844 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
848 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
850 CHECK(l.events == std::vector<std::string>({"parse_error(4)"}));
855 std::array<std::uint8_t, 6> v = {{'{', '\"', '\"', ':', '1', '1'}};
857 CHECK_THROWS_AS(_ = json::parse(std::begin(v), std::end(v)), json::parse_error&);
858 CHECK(!json::accept(std::begin(v), std::end(v)));
861 CHECK_NOTHROW(j_error = json::parse(std::begin(v), std::end(v), nullptr, false));
865 CHECK(!json::sax_parse(std::begin(v), std::end(v), &l));
867 CHECK(l.events == std::vector<std::string>(
878 std::string bom = "\xEF\xBB\xBF";
885 …CHECK_THROWS_WITH_AS(_ = json::parse(std::istringstream(bom)), "[json.exception.parse_error.101] p…
890 CHECK(l.events == std::vector<std::string>(
899 CHECK(json::parse(std::istringstream(bom + "1")) == 1);
903 CHECK(json::sax_parse(std::istringstream(bom + "1"), &l1));
906 CHECK(l1.events == std::vector<std::string>(
911 CHECK(l2.events == std::vector<std::string>(
922 …CHECK_THROWS_WITH_AS(_ = json::parse(std::istringstream(bom.substr(0, 2))), "[json.exception.parse…
926 CHECK(!json::sax_parse(std::istringstream(bom.substr(0, 2)), &l1));
929 CHECK(l1.events == std::vector<std::string>(
934 CHECK(l2.events == std::vector<std::string>(
945 …CHECK_THROWS_WITH_AS(_ = json::parse(std::istringstream(bom.substr(0, 1))), "[json.exception.parse…
949 CHECK(!json::sax_parse(std::istringstream(bom.substr(0, 1)), &l1));
952 CHECK(l1.events == std::vector<std::string>(
957 CHECK(l2.events == std::vector<std::string>(
978 std::string s;
987 CHECK(json::parse(std::istringstream(s + "null")) == json());
992 CHECK(l.events == std::vector<std::string>(
1002 … CHECK_THROWS_AS(_ = json::parse(std::istringstream(s + "null")), json::parse_error&);
1010 CHECK(l.events == std::vector<std::string>(
1017 CHECK(l.events == std::vector<std::string>(
1024 CHECK(l.events == std::vector<std::string>(
1037 std::istringstream s(bom + "123 456");
1048 std::string s = R"([1, ["string", 43.12], null, {"key1": true, "key2": false}])";
1057 CHECK(default_logger.events == std::vector<std::string>(
1067 CHECK(exit_after_start_object.events == std::vector<std::string>(
1076 CHECK(exit_after_key.events == std::vector<std::string>(
1085 CHECK(exit_after_start_array.events == std::vector<std::string>(
1095 std::stringstream ss;
1102 std::string line;
1104 while (std::getline(ss, line))
1115 std::stringstream ss;
1121 std::string line;
1123 while (std::getline(ss, line))
1138 std::uint8_t, std::int8_t,
1139 std::int16_t, std::uint16_t,
1140 std::int32_t, std::uint32_t)
1142 std::vector<T> v = {'t', 'r', 'u', 'e'};
1149 CHECK(l.events == std::vector<std::string>({"boolean(true)"}));
1153 char, unsigned char, std::uint8_t)
1156 …std::vector<T> v = {'"', static_cast<T>(0xe2u), static_cast<T>(0xadu), static_cast<T>(0x90u), stat…
1166 char16_t, std::uint16_t)
1169 …std::vector<T> v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_ca…
1179 char32_t, std::uint32_t)
1182 …std::vector<T> v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_ca…