[poppler] 3 commits - goo/GooString.cc qt5/tests

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 28 14:15:47 UTC 2018


 goo/GooString.cc              |    2 +-
 qt5/tests/check_goostring.cpp |   22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit 853623c23e0c805e9b04c59f9449b388a485f31a
Author: Greg Knight <lyngvi at gmail.com>
Date:   Wed Nov 28 08:44:39 2018 -0500

    use qt5 _data tests per Adam Reichold's recommendation

diff --git a/qt5/tests/check_goostring.cpp b/qt5/tests/check_goostring.cpp
index c9506472..4a18ad1f 100644
--- a/qt5/tests/check_goostring.cpp
+++ b/qt5/tests/check_goostring.cpp
@@ -14,6 +14,7 @@ private slots:
     void testInsert();
     void testFormat();
     void testFromNullptr();
+    void testFromInt_data();
     void testFromInt();
 };
 
@@ -162,23 +163,24 @@ void TestGooString::testFromNullptr()
   }
 }
 
+void TestGooString::testFromInt_data()
+{
+    QTest::addColumn<int>("inty");
+    QTest::addColumn<QByteArray>("stringy");
+
+    QTest::newRow("Natural") << 12345 << QByteArray("12345");
+    QTest::newRow("Negative") << -1 << QByteArray("-1");
+    QTest::newRow("Zero") << 0 << QByteArray("0");
+    QTest::newRow("INT_MAX") << 0x7fffffff << QByteArray("2147483647");
+    QTest::newRow("-INT_MAX-1") << (-0x7fffffff - 1) << QByteArray("-2147483648");
+}
+
 void TestGooString::testFromInt()
 {
-    struct _testcase {
-        int inty;
-        const char* str;
-    } cases[] = {
-        { 12345, "12345" },
-        { -1, "-1" },
-        { 0, "0" },
-        { 0x7fffffff, "2147483647" },
-        { -0x7fffffff - 1, "-2147483648" },
-    };
-
-    for (size_t k = 0; k < sizeof(cases) / sizeof(cases[0]); ++k) {
-        QScopedPointer<GooString> str(GooString::fromInt(cases[k].inty));
-        QCOMPARE(str->c_str(), cases[k].str);
-    }
+    QFETCH(int, inty);
+    QFETCH(QByteArray, stringy);
+    QScopedPointer<GooString> str(GooString::fromInt(inty));
+    QCOMPARE(str->c_str(), stringy.constData());
 }
 
 QTEST_GUILESS_MAIN(TestGooString)
commit 96a0c301a13d02570f44dc0eafbc97b302e996cb
Author: Greg Knight <lyngvi at gmail.com>
Date:   Tue Nov 27 18:37:25 2018 -0500

    add testFromInt to fail if GooString::fromInt is broken again

diff --git a/qt5/tests/check_goostring.cpp b/qt5/tests/check_goostring.cpp
index 3bdfcf77..c9506472 100644
--- a/qt5/tests/check_goostring.cpp
+++ b/qt5/tests/check_goostring.cpp
@@ -14,6 +14,7 @@ private slots:
     void testInsert();
     void testFormat();
     void testFromNullptr();
+    void testFromInt();
 };
 
 void TestGooString::testInsertData_data()
@@ -161,6 +162,25 @@ void TestGooString::testFromNullptr()
   }
 }
 
+void TestGooString::testFromInt()
+{
+    struct _testcase {
+        int inty;
+        const char* str;
+    } cases[] = {
+        { 12345, "12345" },
+        { -1, "-1" },
+        { 0, "0" },
+        { 0x7fffffff, "2147483647" },
+        { -0x7fffffff - 1, "-2147483648" },
+    };
+
+    for (size_t k = 0; k < sizeof(cases) / sizeof(cases[0]); ++k) {
+        QScopedPointer<GooString> str(GooString::fromInt(cases[k].inty));
+        QCOMPARE(str->c_str(), cases[k].str);
+    }
+}
+
 QTEST_GUILESS_MAIN(TestGooString)
 #include "check_goostring.moc"
 
commit 903983bbd921a5139e3cd6de227b571870c764d8
Author: Greg Knight <lyngvi at gmail.com>
Date:   Sun Nov 25 15:47:18 2018 -0500

    gooString::fromInt: Repair the return value.
    formatInt renders from "right to left" and returns the position of the most significant digit in 'p' - which is not generally equal to 'buf' in the case of GooString::fromInt (unless you're rendering a 24-digit number.)
    
    This repairs several issues in pdftohtml

diff --git a/goo/GooString.cc b/goo/GooString.cc
index e1fff699..0a22e283 100644
--- a/goo/GooString.cc
+++ b/goo/GooString.cc
@@ -141,7 +141,7 @@ GooString *GooString::fromInt(int x) {
   int len;
   formatInt(x, buf, sizeof(buf), false, 0, 10, &p, &len);
 
-  return new GooString(buf, len);
+  return new GooString(p, len);
 }
 
 GooString *GooString::format(const char *fmt, ...) {


More information about the poppler mailing list