summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2009-10-08 21:45:52 +0000
committerjoncruz <joncruz@users.sourceforge.net>2009-10-08 21:45:52 +0000
commit217244fe1ea48fff70ccc26e3031db20291cf245 (patch)
treeb53e60a40c79c3bca0500eeab2b8abc7d6fbe4e1 /src
parentPatch by Johan to fix 365903. (diff)
downloadinkscape-217244fe1ea48fff70ccc26e3031db20291cf245.tar.gz
inkscape-217244fe1ea48fff70ccc26e3031db20291cf245.zip
Added simplistic test cases
(bzr r8749)
Diffstat (limited to 'src')
-rw-r--r--src/svg/svg-length-test.h30
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
};