diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2009-10-08 21:45:52 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2009-10-08 21:45:52 +0000 |
| commit | 217244fe1ea48fff70ccc26e3031db20291cf245 (patch) | |
| tree | b53e60a40c79c3bca0500eeab2b8abc7d6fbe4e1 /src | |
| parent | Patch by Johan to fix 365903. (diff) | |
| download | inkscape-217244fe1ea48fff70ccc26e3031db20291cf245.tar.gz inkscape-217244fe1ea48fff70ccc26e3031db20291cf245.zip | |
Added simplistic test cases
(bzr r8749)
Diffstat (limited to 'src')
| -rw-r--r-- | src/svg/svg-length-test.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/svg/svg-length-test.h b/src/svg/svg-length-test.h index 3ac01467a..2c2fe34f0 100644 --- a/src/svg/svg-length-test.h +++ b/src/svg/svg-length-test.h @@ -134,6 +134,36 @@ public: TSM_ASSERT_EQUALS(validStrings, validStrings.size(), 0u); } + + + void testFourPlaces() + { + double val = 761.92918978947023; + int precision = 4; + int minexp = -8; + char buf[256] = {0}; + + memset(buf, 0xCC, sizeof(buf)); // Make it easy to detect an overrun. + unsigned int retval = sp_svg_number_write_de( buf, sizeof(buf), val, precision, minexp ); + TSM_ASSERT_EQUALS("Number of chars written", retval, 5u); + TSM_ASSERT_EQUALS("Numeric string written", std::string(buf), std::string("761.9")); + TSM_ASSERT_EQUALS(std::string("Buffer overrun ") + buf, '\xCC', buf[retval + 1]); + } + + void testTwoPlaces() + { + double val = 761.92918978947023; + int precision = 2; + int minexp = -8; + char buf[256] = {0}; + + memset(buf, 0xCC, sizeof(buf)); // Make it easy to detect an overrun. + unsigned int retval = sp_svg_number_write_de( buf, sizeof(buf), val, precision, minexp ); + TSM_ASSERT_EQUALS("Number of chars written", retval, 3u); + TSM_ASSERT_EQUALS("Numeric string written", std::string(buf), std::string("760")); + TSM_ASSERT_EQUALS(std::string("Buffer overrun ") + buf, '\xCC', buf[retval + 1]); + } + // TODO: More tests }; |
