diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2010-02-08 07:55:37 -0200 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2010-02-08 14:14:11 -0200 |
commit | a0c267b10ad01064e9282ea38577cbd71d0944af (patch) | |
tree | 1277fda28d4424ec72f19b53f3706dd6cbe39e99 /tests/testcodeinjection.cpp | |
parent | 31234b1869a66d161fd6b916823cae66d03e22f7 (diff) |
Code injection from external files are always read using UTF-8.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'tests/testcodeinjection.cpp')
-rw-r--r-- | tests/testcodeinjection.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/testcodeinjection.cpp b/tests/testcodeinjection.cpp new file mode 100644 index 000000000..e3619a202 --- /dev/null +++ b/tests/testcodeinjection.cpp @@ -0,0 +1,52 @@ +/* +* This file is part of the API Extractor project. +* +* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +* +* Contact: PySide team <contact@pyside.org> +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* version 2 as published by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +* 02110-1301 USA +* +*/ + +#include "testcodeinjection.h" +#include <QFileInfo> +#include <QDir> +#include <QtTest/QTest> +#include "testutil.h" + +void TestCodeInjections::testReadFileUtf8() +{ + const char* cppCode ="struct A {};"; + QString filePath = QFileInfo(__FILE__).absoluteDir().absolutePath(); + QString xmlCode = "\ + <typesystem package=\"Foo\"> \ + <value-type name='A'> \ + <inject-code class='target' file='"+filePath+"/utf8code.txt' />\ + </value-type>\ + <value-type name='A::B'/> \ + </typesystem>"; + TestUtil t(cppCode, xmlCode.toLocal8Bit().constData()); + AbstractMetaClassList classes = t.builder()->classes(); + AbstractMetaClass* classA = classes.findClass("A"); + QCOMPARE(classA->typeEntry()->codeSnips().count(), 1); + QString code = classA->typeEntry()->codeSnips().first().code(); + QString utf8Data = QString::fromUtf8("\xC3\xA1\xC3\xA9\xC3\xAD\xC3\xB3\xC3\xBA"); + QVERIFY(code.indexOf(utf8Data) != -1); +} + +QTEST_APPLESS_MAIN(TestCodeInjections) + +#include "testcodeinjection.moc" |