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

Method testNumber

test/limits.cpp:352–380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

350 }
351
352 void
353 testNumber()
354 {
355 // very long floating point number
356 std::array<char, string::max_size() + 1> buffer;
357 buffer.fill('0');
358 buffer.data()[1] = '.';
359
360 parse_options precise;
361 precise.numbers = number_precision::precise;
362
363 stream_parser p( {}, precise );
364 system::error_code ec;
365 p.write( buffer.data(), 1, ec );
366 BOOST_TEST_THROWS_WITH_LOCATION(
367 p.write( buffer.data() + 1, buffer.size() - 1, ec ));
368 BOOST_TEST( !ec );
369
370 // now we make the number one character shorter
371 p.reset();
372 p.write( buffer.data(), 1, ec );
373 BOOST_TEST( !ec );
374
375 p.write( buffer.data() + 1, buffer.size() - 2, ec );
376 BOOST_TEST( !ec );
377
378 auto jv = p.release();
379 BOOST_TEST( jv.as_double() == 0 );
380 }
381
382 void
383 run()

Callers

nothing calls this directly

Calls 5

dataMethod · 0.45
writeMethod · 0.45
sizeMethod · 0.45
resetMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected