2012-04-15 20:02:30 +02:00
|
|
|
/*
|
|
|
|
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
|
|
* the License. You may obtain a copy of the License at
|
|
|
|
* http://www.mozilla.org/MPL/
|
|
|
|
*
|
|
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
|
|
* for the specific language governing rights and limitations under the
|
|
|
|
* License.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is
|
|
|
|
* Miklos Vajna <vmiklos@suse.cz> (SUSE, Inc.)
|
|
|
|
* Portions created by the Initial Developer are Copyright (C) 2012 the
|
|
|
|
* Initial Developer. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
*
|
|
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
|
|
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
|
|
|
|
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
|
|
|
|
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
|
|
|
|
* instead of those above.
|
|
|
|
*/
|
|
|
|
|
2012-05-09 15:25:44 +02:00
|
|
|
#include "../swmodeltestbase.hxx"
|
|
|
|
|
2012-04-15 20:02:30 +02:00
|
|
|
#include <com/sun/star/frame/XStorable.hpp>
|
|
|
|
#include <com/sun/star/view/XViewSettingsSupplier.hpp>
|
2012-05-09 14:30:55 +02:00
|
|
|
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
|
2012-05-11 09:38:03 +02:00
|
|
|
#include <com/sun/star/text/XPageCursor.hpp>
|
|
|
|
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
|
2012-04-15 20:02:30 +02:00
|
|
|
|
|
|
|
#include <unotools/tempfile.hxx>
|
|
|
|
#include <vcl/svapp.hxx>
|
|
|
|
|
|
|
|
using rtl::OString;
|
|
|
|
using rtl::OUString;
|
|
|
|
using rtl::OUStringBuffer;
|
|
|
|
|
2012-05-09 15:25:44 +02:00
|
|
|
class Test : public SwModelTestBase
|
2012-04-15 20:02:30 +02:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
void testZoom();
|
2012-04-24 12:47:16 +02:00
|
|
|
void testFdo38176();
|
2012-05-09 14:30:55 +02:00
|
|
|
void testFdo49683();
|
2012-05-11 09:38:03 +02:00
|
|
|
void testFdo44174();
|
2012-04-15 20:02:30 +02:00
|
|
|
|
2012-04-27 15:36:23 +02:00
|
|
|
CPPUNIT_TEST_SUITE(Test);
|
2012-04-15 20:02:30 +02:00
|
|
|
#if !defined(MACOSX) && !defined(WNT)
|
|
|
|
CPPUNIT_TEST(testZoom);
|
2012-04-24 12:47:16 +02:00
|
|
|
CPPUNIT_TEST(testFdo38176);
|
2012-05-09 14:30:55 +02:00
|
|
|
CPPUNIT_TEST(testFdo49683);
|
2012-05-11 09:38:03 +02:00
|
|
|
CPPUNIT_TEST(testFdo44174);
|
2012-04-15 20:02:30 +02:00
|
|
|
#endif
|
|
|
|
CPPUNIT_TEST_SUITE_END();
|
|
|
|
|
|
|
|
private:
|
|
|
|
void roundtrip(const OUString& rURL);
|
|
|
|
};
|
|
|
|
|
2012-04-27 15:36:23 +02:00
|
|
|
void Test::roundtrip(const OUString& rFilename)
|
2012-04-15 20:02:30 +02:00
|
|
|
{
|
|
|
|
uno::Reference<lang::XComponent> xImported = loadFromDesktop(getURLFromSrc("/sw/qa/extras/rtfexport/data/") + rFilename);
|
|
|
|
uno::Reference<frame::XStorable> xStorable(xImported, uno::UNO_QUERY);
|
|
|
|
uno::Sequence<beans::PropertyValue> aArgs(1);
|
|
|
|
aArgs[0].Name = "FilterName";
|
|
|
|
aArgs[0].Value <<= OUString("Rich Text Format");
|
|
|
|
utl::TempFile aTempFile;
|
|
|
|
aTempFile.EnableKillingFile();
|
|
|
|
xStorable->storeToURL(aTempFile.GetURL(), aArgs);
|
|
|
|
mxComponent = loadFromDesktop(aTempFile.GetURL());
|
|
|
|
}
|
|
|
|
|
2012-04-27 15:36:23 +02:00
|
|
|
void Test::testZoom()
|
2012-04-15 20:02:30 +02:00
|
|
|
{
|
|
|
|
roundtrip("zoom.rtf");
|
|
|
|
|
|
|
|
uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
|
|
|
uno::Reference<view::XViewSettingsSupplier> xViewSettingsSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
|
|
|
|
uno::Reference<beans::XPropertySet> xPropertySet(xViewSettingsSupplier->getViewSettings());
|
|
|
|
sal_Int16 nValue = 0;
|
|
|
|
xPropertySet->getPropertyValue("ZoomValue") >>= nValue;
|
|
|
|
CPPUNIT_ASSERT_EQUAL(sal_Int16(42), nValue);
|
|
|
|
}
|
|
|
|
|
2012-04-27 15:36:23 +02:00
|
|
|
void Test::testFdo38176()
|
2012-04-24 12:47:16 +02:00
|
|
|
{
|
|
|
|
roundtrip("fdo38176.rtf");
|
2012-04-24 13:05:12 +02:00
|
|
|
CPPUNIT_ASSERT_EQUAL(9, getLength());
|
2012-04-24 12:47:16 +02:00
|
|
|
}
|
|
|
|
|
2012-05-09 14:30:55 +02:00
|
|
|
void Test::testFdo49683()
|
|
|
|
{
|
|
|
|
roundtrip("fdo49683.rtf");
|
|
|
|
|
|
|
|
uno::Reference<document::XDocumentPropertiesSupplier> xDocumentPropertiesSupplier(mxComponent, uno::UNO_QUERY);
|
|
|
|
uno::Reference<document::XDocumentProperties> xDocumentProperties(xDocumentPropertiesSupplier->getDocumentProperties());
|
|
|
|
uno::Sequence<OUString> aKeywords(xDocumentProperties->getKeywords());
|
|
|
|
CPPUNIT_ASSERT_EQUAL(sal_Int32(2), aKeywords.getLength());
|
|
|
|
CPPUNIT_ASSERT_EQUAL(OUString("one"), aKeywords[0]);
|
|
|
|
CPPUNIT_ASSERT_EQUAL(OUString("two"), aKeywords[1]);
|
|
|
|
}
|
|
|
|
|
2012-05-11 09:38:03 +02:00
|
|
|
void Test::testFdo44174()
|
|
|
|
{
|
|
|
|
roundtrip("fdo44174.rtf");
|
|
|
|
|
|
|
|
uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
|
|
|
uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
|
|
|
|
uno::Reference<beans::XPropertySet> xPropertySet(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
|
|
|
|
OUString aValue;
|
|
|
|
xPropertySet->getPropertyValue("PageStyleName") >>= aValue;
|
|
|
|
CPPUNIT_ASSERT_EQUAL(OUString("First Page"), aValue);
|
|
|
|
}
|
|
|
|
|
2012-04-27 15:36:23 +02:00
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
|
2012-04-15 20:02:30 +02:00
|
|
|
|
|
|
|
CPPUNIT_PLUGIN_IMPLEMENT();
|
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|