summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid García Garzón <david.garcia@upf.edu>2020-01-05 23:35:51 +0000
committerAlbert Astals Cid <tsdgeos@yahoo.es>2020-01-05 23:35:51 +0000
commitdd0ea681efc1e0a476803be1260f7a7691c26534 (patch)
tree83ec3b981fcfef656d95aa99d048c77c0fee3bea
parentc4f8555b6a8085a6a5b3c18a8a21e8aab51fe6d9 (diff)
qt5: Fix FormField::name encoding
Also add a test for it
-rw-r--r--qt5/src/poppler-form.cc2
-rw-r--r--qt5/tests/check_forms.cpp18
2 files changed, 19 insertions, 1 deletions
diff --git a/qt5/src/poppler-form.cc b/qt5/src/poppler-form.cc
index 26b583ba..cab25af6 100644
--- a/qt5/src/poppler-form.cc
+++ b/qt5/src/poppler-form.cc
@@ -147,7 +147,7 @@ QString FormField::name() const
QString name;
if (const GooString *goo = m_formData->fm->getPartialName())
{
- name = QString::fromLatin1(goo->c_str());
+ name = UnicodeParsedString(goo);
}
return name;
}
diff --git a/qt5/tests/check_forms.cpp b/qt5/tests/check_forms.cpp
index ac60fdc4..fb7c3baf 100644
--- a/qt5/tests/check_forms.cpp
+++ b/qt5/tests/check_forms.cpp
@@ -16,6 +16,7 @@ private slots:
void testSetIcon();// Test that setIcon will always be valid.
void testSetPrintable();
void testSetAppearanceText();
+ void testUnicodeFieldAttributes();
};
void TestForms::testCheckbox()
@@ -208,5 +209,22 @@ void TestForms::testSetAppearanceText()
QCOMPARE( nTextForms, 5 );
}
+void TestForms::testUnicodeFieldAttributes()
+{
+ QScopedPointer< Poppler::Document > document(Poppler::Document::load(TESTDATADIR "/unittestcases/fieldWithUtf16Names.pdf"));
+ QVERIFY( document );
+
+ QScopedPointer< Poppler::Page > page(document->page(0));
+ QVERIFY( page );
+
+ QList<Poppler::FormField*> forms = page->formFields();
+
+ Poppler::FormField * field = forms.first();
+
+ QCOMPARE(field->name(), QStringLiteral("Tex"));
+ QCOMPARE(field->uiName(), QStringLiteral("Texto de ayuda"));
+}
+
+
QTEST_GUILESS_MAIN(TestForms)
#include "check_forms.moc"