sax/qa/cppunit/test_converter.cxx | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+)
New commits: commit cc77be47187d9cb624b527933caedbfc4c35ec2c Author: Artur Dorda <artur.dorda+l...@gmail.com> Date: Thu Aug 9 22:42:09 2012 +0200 'measure to string' test covered in test_converter.cxx Change-Id: If764eb4d87db93dc2907bc21fb1b9f10687a7ee4 diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx index a95d1be..ad146e2 100644 --- a/sax/qa/cppunit/test_converter.cxx +++ b/sax/qa/cppunit/test_converter.cxx @@ -333,6 +333,7 @@ void doTestMeasureToString(char const*const pis, sal_Int32 nMeasure, sal_Int16 c void ConverterTest::testMeasure() { + //check all the measure units doTestStringToMeasure(1000, "10mm", MeasureUnit::MM_100TH, -1, 4321); doTestStringToMeasure(200, "20mm", MeasureUnit::MM_10TH, 12, 4567); doTestStringToMeasure(300, "300", MeasureUnit::MM, 31, 555); @@ -353,7 +354,22 @@ void ConverterTest::testMeasure() doTestStringToMeasure(600, "600px", MeasureUnit::PIXEL, 10, 4321); doTestStringToMeasure(777, "777", MeasureUnit::APPFONT, 10, 4321); doTestStringToMeasure(80000, "80000", MeasureUnit::SYSFONT, 10, 432100); - doTestMeasureToString("60mm", 6000, MeasureUnit::MM_100TH, MeasureUnit::MM_10TH); + //strange values (negative, too large etc.) + doTestStringToMeasure(-539222987, "1234567890mm", MeasureUnit::MM_10TH, 12, 12345678901); + doTestStringToMeasure(-300, "-300", MeasureUnit::MM, -1000, 555); + doTestStringToMeasure(1305424328, "-999999999999999px", MeasureUnit::PIXEL, -88888888888, 555); //really crazy numbers... + + doTestMeasureToString("6mm", 600, MeasureUnit::MM_100TH, MeasureUnit::MM); + doTestMeasureToString("0.005cm", 000000005, MeasureUnit::MM_100TH, MeasureUnit::CM); // zeros in the front doesn't count + doTestMeasureToString("3mm", 30, MeasureUnit::MM_10TH, MeasureUnit::MM); + doTestMeasureToString("6.66cm", 666, MeasureUnit::MM_10TH, MeasureUnit::CM); + doTestMeasureToString("-157.3pt", -555, MeasureUnit::MM_10TH, MeasureUnit::POINT); + doTestMeasureToString("174976.378in", 44444000, MeasureUnit::MM_10TH, MeasureUnit::INCH); //let's check accuracy + doTestMeasureToString("40%", 40, MeasureUnit::PERCENT, MeasureUnit::PERCENT); + doTestMeasureToString("70.56mm", 4000, MeasureUnit::TWIP, MeasureUnit::MM); + doTestMeasureToString("979.928cm", 555550, MeasureUnit::TWIP, MeasureUnit::CM); + doTestMeasureToString("111.1pt", 2222, MeasureUnit::TWIP, MeasureUnit::POINT); + doTestMeasureToString("385.7986in", 555550, MeasureUnit::TWIP, MeasureUnit::INCH); } CPPUNIT_TEST_SUITE_REGISTRATION(ConverterTest); commit ad5a002cb882cb57ee13722df078a22666ccf9fa Author: Artur Dorda <artur.dorda+l...@gmail.com> Date: Thu Aug 9 13:12:44 2012 +0200 Added testing 'measure to string' function Change-Id: I36de98025ec72230cd960191ab47ab39ce965cc5 diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx index 55d3749..a95d1be 100644 --- a/sax/qa/cppunit/test_converter.cxx +++ b/sax/qa/cppunit/test_converter.cxx @@ -322,6 +322,15 @@ void doTestStringToMeasure(sal_Int32 rValue, char const*const pis, sal_Int16 nTa CPPUNIT_ASSERT_EQUAL(rValue, nVal); } +void doTestMeasureToString(char const*const pis, sal_Int32 nMeasure, sal_Int16 const nSourceUnit, sal_Int16 const nTargetUnit) +{ + ::rtl::OUString const is(::rtl::OUString::createFromAscii(pis)); + ::rtl::OUStringBuffer buf; + Converter::convertMeasure(buf, nMeasure, nSourceUnit, nTargetUnit); + OSL_TRACE("%s", ::rtl::OUStringToOString(buf.getStr(), RTL_TEXTENCODING_UTF8).getStr()); + CPPUNIT_ASSERT_EQUAL(is, buf.makeStringAndClear()); +} + void ConverterTest::testMeasure() { doTestStringToMeasure(1000, "10mm", MeasureUnit::MM_100TH, -1, 4321); @@ -344,6 +353,7 @@ void ConverterTest::testMeasure() doTestStringToMeasure(600, "600px", MeasureUnit::PIXEL, 10, 4321); doTestStringToMeasure(777, "777", MeasureUnit::APPFONT, 10, 4321); doTestStringToMeasure(80000, "80000", MeasureUnit::SYSFONT, 10, 432100); + doTestMeasureToString("60mm", 6000, MeasureUnit::MM_100TH, MeasureUnit::MM_10TH); } CPPUNIT_TEST_SUITE_REGISTRATION(ConverterTest); commit dab32b53652ab3a4c5108a7e3bf5df1590dd810e Author: Artur Dorda <artur.dorda+l...@gmail.com> Date: Thu Aug 9 01:41:22 2012 +0200 All the MeasureUnit values are covered in converter test Change-Id: I6c447bb3948566ad10d9935397089ed1fceac1da diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx index aca9976..55d3749 100644 --- a/sax/qa/cppunit/test_converter.cxx +++ b/sax/qa/cppunit/test_converter.cxx @@ -324,7 +324,26 @@ void doTestStringToMeasure(sal_Int32 rValue, char const*const pis, sal_Int16 nTa void ConverterTest::testMeasure() { - doTestStringToMeasure(1000, "10mm", MeasureUnit::MM_100TH, 1, 4321); + doTestStringToMeasure(1000, "10mm", MeasureUnit::MM_100TH, -1, 4321); + doTestStringToMeasure(200, "20mm", MeasureUnit::MM_10TH, 12, 4567); + doTestStringToMeasure(300, "300", MeasureUnit::MM, 31, 555); + doTestStringToMeasure(400, "400", MeasureUnit::CM, 10, 4321); + doTestStringToMeasure(120, "120", MeasureUnit::INCH_1000TH, 10, 4321); + doTestStringToMeasure(111, "111", MeasureUnit::INCH_100TH, 10, 4321); + doTestStringToMeasure(22, "22", MeasureUnit::INCH_10TH, 10, 4321); + doTestStringToMeasure(27, "27", MeasureUnit::INCH, 10, 4321); + doTestStringToMeasure(52, "52", MeasureUnit::POINT, 10, 4321); + doTestStringToMeasure(120, "120", MeasureUnit::TWIP, 10, 4321); + doTestStringToMeasure(666, "666", MeasureUnit::M, 10, 4321); + doTestStringToMeasure(42, "42", MeasureUnit::KM, 10, 4321); + doTestStringToMeasure(30, "30", MeasureUnit::PICA, 10, 4321); + doTestStringToMeasure(20, "20", MeasureUnit::FOOT, 10, 4321); + doTestStringToMeasure(40, "40", MeasureUnit::MILE, 10, 4321); + doTestStringToMeasure(40, "40%", MeasureUnit::PERCENT, 10, 4321); + doTestStringToMeasure(800, "800", MeasureUnit::PIXEL, 10, 4321); + doTestStringToMeasure(600, "600px", MeasureUnit::PIXEL, 10, 4321); + doTestStringToMeasure(777, "777", MeasureUnit::APPFONT, 10, 4321); + doTestStringToMeasure(80000, "80000", MeasureUnit::SYSFONT, 10, 432100); } CPPUNIT_TEST_SUITE_REGISTRATION(ConverterTest); commit 64d258b35a7bcde98c8637e6e222653649b6633e Author: Artur Dorda <artur.dorda+l...@gmail.com> Date: Thu Aug 9 01:09:25 2012 +0200 Started testing measures in converter test, first: string to measure Change-Id: I96296b75d7c1f131a96add9dd17dfbffa079e343 diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx index 1a33915..aca9976 100644 --- a/sax/qa/cppunit/test_converter.cxx +++ b/sax/qa/cppunit/test_converter.cxx @@ -50,11 +50,13 @@ public: void testDuration(); void testDateTime(); void testDouble(); + void testMeasure(); CPPUNIT_TEST_SUITE(ConverterTest); CPPUNIT_TEST(testDuration); CPPUNIT_TEST(testDateTime); CPPUNIT_TEST(testDouble); + CPPUNIT_TEST(testMeasure); CPPUNIT_TEST_SUITE_END(); private: @@ -310,6 +312,20 @@ void ConverterTest::testDouble() doTestDouble("700", 70.0, MeasureUnit::MM_100TH, MeasureUnit::MM_10TH); } +void doTestStringToMeasure(sal_Int32 rValue, char const*const pis, sal_Int16 nTargetUnit, sal_Int32 nMin, sal_Int32 nMax) +{ + ::rtl::OUString const is(::rtl::OUString::createFromAscii(pis)); + sal_Int32 nVal; + bool bSuccess(Converter::convertMeasure(nVal, is, nTargetUnit, nMin, nMax)); + OSL_TRACE("%i", nVal); + CPPUNIT_ASSERT(bSuccess); + CPPUNIT_ASSERT_EQUAL(rValue, nVal); +} + +void ConverterTest::testMeasure() +{ + doTestStringToMeasure(1000, "10mm", MeasureUnit::MM_100TH, 1, 4321); +} CPPUNIT_TEST_SUITE_REGISTRATION(ConverterTest); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits