diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-05 12:19:05 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-05 14:25:02 +0100 |
commit | ddd43218e9900536381733735adf8681d345e775 (patch) | |
tree | 5bb211e63d9b739d20eb248f1ab9f0fb481e118d /comphelper | |
parent | 9c036b1d3db253a1fd43ce76ce1d919e2029af59 (diff) |
drop sax::tools::*base64 methods
and use the underlying comphelper methods rather. This is so that I can
break the dependency that tools has on sax, and can add methods that
make sax depend on tools.
Change-Id: I8a2d6ce2ffc3529a0020710ade6a1748ee5af7d5
Reviewed-on: https://gerrit.libreoffice.org/50767
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'comphelper')
-rw-r--r-- | comphelper/CppunitTest_comphelper_test.mk | 1 | ||||
-rw-r--r-- | comphelper/qa/unit/base64_test.cxx | 106 |
2 files changed, 107 insertions, 0 deletions
diff --git a/comphelper/CppunitTest_comphelper_test.mk b/comphelper/CppunitTest_comphelper_test.mk index 00dc27e5e7b1..956aeb374a63 100644 --- a/comphelper/CppunitTest_comphelper_test.mk +++ b/comphelper/CppunitTest_comphelper_test.mk @@ -13,6 +13,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,comphelper_test, \ comphelper/qa/string/test_string \ comphelper/qa/container/testifcontainer \ comphelper/qa/unit/test_hash \ + comphelper/qa/unit/base64_test \ )) $(eval $(call gb_CppunitTest_use_sdk_api,comphelper_test)) diff --git a/comphelper/qa/unit/base64_test.cxx b/comphelper/qa/unit/base64_test.cxx new file mode 100644 index 000000000000..b3f2143d4a41 --- /dev/null +++ b/comphelper/qa/unit/base64_test.cxx @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 . + */ + +#include <limits> + +#include <sal/types.h> +#include <cppunit/TestAssert.h> +#include <cppunit/TestFixture.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +#include <rtl/ustrbuf.hxx> + +#include <com/sun/star/util/DateTime.hpp> +#include <com/sun/star/util/Date.hpp> +#include <com/sun/star/util/Duration.hpp> +#include <com/sun/star/util/MeasureUnit.hpp> + +#include <comphelper/sequence.hxx> +#include <comphelper/base64.hxx> +#include <sal/log.hxx> + + +using namespace ::com::sun::star; +using namespace ::com::sun::star::util; + + +namespace { + +class Base64Test + : public ::CppUnit::TestFixture +{ +public: + + void testBase64(); + + CPPUNIT_TEST_SUITE(Base64Test); + CPPUNIT_TEST(testBase64); + CPPUNIT_TEST_SUITE_END(); + +private: +}; + + + +void doTestEncodeBase64(char const*const pis, const uno::Sequence<sal_Int8>& aPass) +{ + OUString const is(OUString::createFromAscii(pis)); + OUStringBuffer buf; + comphelper::Base64::encode(buf, aPass); + SAL_INFO("sax.cppunit","" << buf.toString()); + CPPUNIT_ASSERT_EQUAL(is, buf.makeStringAndClear()); +} + +void doTestDecodeBase64(const uno::Sequence<sal_Int8>& aPass, char const*const pis) +{ + OUString const is(OUString::createFromAscii(pis)); + uno::Sequence< sal_Int8 > tempSequence; + comphelper::Base64::decode(tempSequence, is); + SAL_INFO("sax.cppunit","" << is); + bool b = (tempSequence==aPass); + CPPUNIT_ASSERT(b); +} + +void Base64Test::testBase64() +{ + std::vector< sal_Int8 > tempSeq { 0, 0, 0, 0, 0, 1, 2, 3 }; + uno::Sequence< sal_Int8 > tempSequence = comphelper::containerToSequence(tempSeq); + doTestEncodeBase64("AAAAAAABAgM=", tempSequence); + doTestDecodeBase64(tempSequence, "AAAAAAABAgM="); + tempSeq[0] = sal_Int8(5); + tempSeq[1] = sal_Int8(2); + tempSeq[2] = sal_Int8(3); + tempSequence = comphelper::containerToSequence(tempSeq); + doTestEncodeBase64("BQIDAAABAgM=", tempSequence); + doTestDecodeBase64(tempSequence, "BQIDAAABAgM="); + tempSeq[0] = sal_Int8(sal_uInt8(200)); + tempSeq[1] = sal_Int8(31); + tempSeq[2] = sal_Int8(77); + tempSeq[3] = sal_Int8(111); + tempSequence = comphelper::containerToSequence(tempSeq); + doTestEncodeBase64("yB9NbwABAgM=", tempSequence); + doTestDecodeBase64(tempSequence, "yB9NbwABAgM="); +} + +CPPUNIT_TEST_SUITE_REGISTRATION(Base64Test); + +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |