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

Method testNonThrowing

test/pointer.cpp:136–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

134
135 template<class ErrorCode>
136 void
137 testNonThrowing()
138 {
139 ErrorCode ec;
140 BOOST_TEST( !value().find_pointer("/x", ec) );
141 BOOST_TEST( ec == error::value_is_scalar );
142
143 value jv = testValue();
144 BOOST_TEST(jv.find_pointer("/foo/0", ec) == &jv.at("foo").at(0));
145 BOOST_TEST(!ec);
146
147 auto const& cjv = jv;
148 ec = error::syntax;
149 BOOST_TEST(cjv.find_pointer("/foo/1", ec) == &jv.at("foo").at(1));
150 BOOST_TEST(!ec);
151
152 jv.find_pointer("foo", ec);
153 BOOST_TEST(ec == error::missing_slash);
154 BOOST_TEST(hasLocation(ec));
155
156 jv.find_pointer("/fo", ec);
157 BOOST_TEST(ec == error::not_found);
158 BOOST_TEST(hasLocation(ec));
159
160 jv.find_pointer("/foo/25", ec);
161 BOOST_TEST(ec == error::not_found);
162 BOOST_TEST(hasLocation(ec));
163
164 value(object()).find_pointer("/foo", ec);
165 BOOST_TEST(ec == error::not_found);
166 BOOST_TEST(hasLocation(ec));
167
168 bigObject().find_pointer("/foo", ec);
169 BOOST_TEST(ec == error::not_found);
170 BOOST_TEST(hasLocation(ec));
171
172 jv.find_pointer("/m~", ec);
173 BOOST_TEST(ec == error::invalid_escape);
174 BOOST_TEST(hasLocation(ec));
175
176 jv.find_pointer("/m~n", ec);
177 BOOST_TEST(ec == error::invalid_escape);
178 BOOST_TEST(hasLocation(ec));
179
180 jv.find_pointer("/foo/bar", ec);
181 BOOST_TEST(ec == error::token_not_number);
182 BOOST_TEST(hasLocation(ec));
183
184 jv.find_pointer("/foo/", ec);
185 BOOST_TEST(ec == error::token_not_number);
186 BOOST_TEST(hasLocation(ec));
187
188 jv.find_pointer("/foo/01", ec);
189 BOOST_TEST(ec == error::token_not_number);
190 BOOST_TEST(hasLocation(ec));
191
192 jv.find_pointer("/foo/2b", ec);
193 BOOST_TEST(ec == error::token_not_number);

Callers

nothing calls this directly

Calls 3

valueClass · 0.70
objectClass · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected