blob: c240ec6c10ea66f8ba15b5d5ad0b714755df142d [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#include "HistoryOptTest.hxx"
#include <unotools/historyoptions_const.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <comphelper/configurationhelper.hxx>
#include <comphelper/sequenceashashmap.hxx>
#include <unotools/processfactory.hxx>
namespace css = ::com::sun::star;
//=============================================================================
static const ::rtl::OUString MESSAGE_CLEAR_FAILED = ::rtl::OUString::createFromAscii("Clearing the list failed.");
static const ::rtl::OUString MESSAGE_SETSIZE_FAILED = ::rtl::OUString::createFromAscii("Setting a new size for a list failed.");
static const ::rtl::OUString MESSAGE_MISS_HISTORY = ::rtl::OUString::createFromAscii("Could not get config access to history list inside config.");
static const ::rtl::OUString MESSAGE_MISS_ITEMLIST = ::rtl::OUString::createFromAscii("Could not get config access to item list inside config.");
static const ::rtl::OUString MESSAGE_MISS_ORDERLIST = ::rtl::OUString::createFromAscii("Could not get config access to order list inside config.");
static const ::rtl::OUString MESSAGE_MISS_ITEM = ::rtl::OUString::createFromAscii("Could not locate item.");
static const ::rtl::OUString MESSAGE_UNEXPECTED_ITEM = ::rtl::OUString::createFromAscii("Found an unexpected item.");
static const ::rtl::OUString MESSAGE_WRONG_ORDER = ::rtl::OUString::createFromAscii("Wrong order in history list.");
//=============================================================================
HistoryOptTest::HistoryOptTest()
: m_aConfigItem ( )
, m_eList (ePICKLIST)
, m_xHistoriesXCU( )
, m_xCommonXCU ( )
{
}
//=============================================================================
HistoryOptTest::~HistoryOptTest()
{
m_xHistoriesXCU.clear();
m_xCommonXCU.clear();
}
//=============================================================================
void HistoryOptTest::checkPicklist()
{
impl_testHistory(ePICKLIST, 4);
}
//=============================================================================
void HistoryOptTest::checkURLHistory()
{
impl_testHistory(eHISTORY, 10);
}
//=============================================================================
void HistoryOptTest::checkHelpBookmarks()
{
impl_testHistory(eHELPBOOKMARKS, 100);
}
//=============================================================================
void HistoryOptTest::impl_testHistory(EHistoryType eHistory ,
::sal_Int32 nMaxItems)
{
try
{
m_eList = eHistory;
::sal_Int32 c = nMaxItems;
::sal_Int32 i = 0;
impl_clearList( );
impl_setSize (c);
// a) fill list completely and check if all items could be realy created.
// But dont check its order here! Because every new item will change that order.
for (i=0; i<c; ++i)
{
impl_appendItem(i);
if ( ! impl_existsItem(i))
throw css::uno::Exception(MESSAGE_MISS_ITEM, 0);
}
// b) Check order of all items in list now.
// It must be reverse to the item number ...
// item max = index 0
// item max-1 = index 1
// ...
for (i=0; i<c; ++i)
{
::sal_Int32 nExpectedIndex = (c-1)-i;
if ( ! impl_existsItemAtIndex(i, nExpectedIndex))
throw css::uno::Exception(MESSAGE_WRONG_ORDER, 0);
}
// c) increase prio of "first" item so it will switch
// to "second" and "second" will switch to "first" :-)
// Check also if all other items was not touched.
::sal_Int32 nFirstItem = (c-1);
::sal_Int32 nSecondItem = (c-2);
impl_appendItem(nSecondItem);
if (
( ! impl_existsItemAtIndex(nSecondItem, 0)) ||
( ! impl_existsItemAtIndex(nFirstItem , 1))
)
throw css::uno::Exception(MESSAGE_WRONG_ORDER, 0);
for (i=0; i<nSecondItem; ++i)
{
::sal_Int32 nExpectedIndex = (c-1)-i;
if ( ! impl_existsItemAtIndex(i, nExpectedIndex))
throw css::uno::Exception(MESSAGE_WRONG_ORDER, 0);
}
// d) Check if appending new items will destroy the oldest one.
::sal_Int32 nNewestItem = c;
::sal_Int32 nOldestItem = 0;
impl_appendItem(nNewestItem);
if ( ! impl_existsItemAtIndex(nNewestItem, 0))
throw css::uno::Exception(MESSAGE_WRONG_ORDER, 0);
if (impl_existsItem(nOldestItem))
throw css::uno::Exception(MESSAGE_UNEXPECTED_ITEM, 0);
// e) Check if decreasing list size will remove oldest items.
// Note: impl_setSize() will make sure that 3 items exists only.
// Otherwhise it throws an exception. If we further check
// positions of three items no further items must be checked.
// They cant exists :-)
::sal_Int32 nNewSize = 3;
impl_setSize(nNewSize);
if (
( ! impl_existsItemAtIndex(nNewestItem, 0)) ||
( ! impl_existsItemAtIndex(nSecondItem, 1)) ||
( ! impl_existsItemAtIndex(nFirstItem , 2))
)
throw css::uno::Exception(MESSAGE_WRONG_ORDER, 0);
// finaly we should try to clean up all used structures so the same office can be used
// without problems :-)
impl_clearList();
}
catch (const css::uno::Exception& ex)
{
impl_clearList();
throw ex;
}
}
//=============================================================================
void HistoryOptTest::impl_clearList()
{
m_aConfigItem.Clear(m_eList);
::sal_Int32 nCount = m_aConfigItem.GetList(m_eList).getLength();
if (nCount != 0)
throw css::uno::Exception(MESSAGE_CLEAR_FAILED, 0);
css::uno::Reference< css::container::XNameAccess > xList;
xList = impl_getItemList();
nCount = xList->getElementNames().getLength();
if (nCount != 0)
throw css::uno::Exception(MESSAGE_CLEAR_FAILED, 0);
xList = impl_getOrderList();
nCount = xList->getElementNames().getLength();
if (nCount != 0)
throw css::uno::Exception(MESSAGE_CLEAR_FAILED, 0);
}
//=============================================================================
void HistoryOptTest::impl_setSize(::sal_Int32 nSize)
{
m_aConfigItem.SetSize (m_eList, nSize);
// a) size info returned by GetSize() means "MaxSize"
// so it must match exactly !
::sal_Int32 nCheck = m_aConfigItem.GetSize(m_eList);
if (nCheck != nSize)
throw css::uno::Exception(MESSAGE_SETSIZE_FAILED, 0);
// b) current size of used XCU lists reflects the current state of
// history list and not max size. So it can be less then size !
css::uno::Reference< css::container::XNameAccess > xList;
xList = impl_getItemList();
nCheck = xList->getElementNames().getLength();
if (nCheck > nSize)
throw css::uno::Exception(MESSAGE_SETSIZE_FAILED, 0);
xList = impl_getOrderList();
nCheck = xList->getElementNames().getLength();
if (nCheck > nSize)
throw css::uno::Exception(MESSAGE_SETSIZE_FAILED, 0);
}
//=============================================================================
void HistoryOptTest::impl_appendItem(::sal_Int32 nItem)
{
const ::rtl::OUString sURL = impl_createItemURL (nItem);
const ::rtl::OUString sTitle = impl_createItemTitle (nItem);
const ::rtl::OUString sPassword = impl_createItemPassword(nItem);
m_aConfigItem.AppendItem(m_eList, sURL, ::rtl::OUString(), sTitle, sPassword);
}
//=============================================================================
::rtl::OUString HistoryOptTest::impl_createItemURL(::sal_Int32 nItem)
{
::rtl::OUStringBuffer sURL(256);
sURL.appendAscii("file:///ooo_api_test/non_existing_test_url_");
sURL.append ((::sal_Int32)nItem );
sURL.appendAscii(".odt" );
return sURL.makeStringAndClear();
}
//=============================================================================
::rtl::OUString HistoryOptTest::impl_createItemTitle(::sal_Int32 nItem)
{
::rtl::OUStringBuffer sTitle(256);
sTitle.appendAscii("Non Existing Test Item Nr ");
sTitle.append ((::sal_Int32)nItem );
return sTitle.makeStringAndClear();
}
//=============================================================================
::rtl::OUString HistoryOptTest::impl_createItemPassword(::sal_Int32 nItem)
{
::rtl::OUStringBuffer sPassword(256);
sPassword.appendAscii("Password_" );
sPassword.append ((::sal_Int32)nItem);
return sPassword.makeStringAndClear();
}
//=============================================================================
::sal_Bool HistoryOptTest::impl_existsItem(::sal_Int32 nItem)
{
const ::rtl::OUString sURL = impl_createItemURL(nItem);
const css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > lItems = m_aConfigItem.GetList(m_eList);
const ::sal_Int32 c = lItems.getLength ();
::sal_Int32 i = 0;
::sal_Bool bFound = sal_False;
for (i=0; i<c; ++i)
{
const ::comphelper::SequenceAsHashMap aItem(lItems[i]);
const ::rtl::OUString& sCheck = aItem.getUnpackedValueOrDefault(s_sURL, ::rtl::OUString());
bFound = sCheck.equals(sURL);
if (bFound)
break;
}
if ( ! bFound)
return sal_False;
bFound = sal_False;
try
{
css::uno::Reference< css::container::XNameAccess > xItemList = impl_getItemList();
css::uno::Reference< css::container::XNameAccess > xItem ;
xItemList->getByName(sURL) >>= xItem;
bFound = xItem.is();
}
catch(const css::container::NoSuchElementException&)
{}
return bFound;
}
//=============================================================================
::sal_Bool HistoryOptTest::impl_existsItemAtIndex(::sal_Int32 nItem ,
::sal_Int32 nIndex)
{
const ::rtl::OUString sURL = impl_createItemURL(nItem);
const css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > lItems = m_aConfigItem.GetList(m_eList);
const ::sal_Int32 c = lItems.getLength ();
::sal_Bool bFound = sal_False;
if (nIndex >= c)
return sal_False;
const ::comphelper::SequenceAsHashMap aItem(lItems[nIndex]);
::rtl::OUString sCheck = aItem.getUnpackedValueOrDefault(s_sURL, ::rtl::OUString());
bFound = sCheck.equals(sURL);
if ( ! bFound)
return sal_False;
bFound = sal_False;
try
{
css::uno::Reference< css::container::XNameAccess > xItemList = impl_getItemList();
css::uno::Reference< css::container::XNameAccess > xItem ;
xItemList->getByName(sURL) >>= xItem;
bFound = xItem.is();
}
catch(const css::container::NoSuchElementException&)
{}
if ( ! bFound)
return sal_False;
bFound = sal_False;
try
{
const ::rtl::OUString sOrder = ::rtl::OUString::valueOf(nIndex);
css::uno::Reference< css::container::XNameAccess > xOrderList = impl_getOrderList();
css::uno::Reference< css::container::XNameAccess > xOrder ;
xOrderList->getByName(sOrder) >>= xOrder;
if (xOrder.is())
{
xOrder->getByName(s_sHistoryItemRef) >>= sCheck;
bFound = sCheck.equals(sURL);
}
}
catch(const css::container::NoSuchElementException&)
{}
return bFound;
}
//=============================================================================
css::uno::Reference< css::container::XNameAccess > HistoryOptTest::impl_getItemList()
{
css::uno::Reference< css::container::XNameAccess > xHistory = impl_getNewHistory();
css::uno::Reference< css::container::XNameAccess > xList ;
xHistory->getByName (s_sItemList) >>= xList;
if ( ! xList.is())
throw css::uno::Exception(MESSAGE_MISS_ITEMLIST, 0);
return xList;
}
//=============================================================================
css::uno::Reference< css::container::XNameAccess > HistoryOptTest::impl_getOrderList()
{
css::uno::Reference< css::container::XNameAccess > xHistory = impl_getNewHistory();
css::uno::Reference< css::container::XNameAccess > xList ;
xHistory->getByName (s_sOrderList) >>= xList;
if ( ! xList.is())
throw css::uno::Exception(MESSAGE_MISS_ORDERLIST, 0);
return xList;
}
//=============================================================================
css::uno::Reference< css::container::XNameAccess > HistoryOptTest::impl_getNewHistory()
{
if ( ! m_xHistoriesXCU.is())
{
m_xHistoriesXCU = css::uno::Reference< css::container::XNameAccess >(
::comphelper::ConfigurationHelper::openConfig(
::utl::getProcessServiceFactory(),
s_sHistories,
::comphelper::ConfigurationHelper::E_STANDARD),
css::uno::UNO_QUERY_THROW);
}
css::uno::Reference< css::container::XNameAccess > xHistory;
switch (m_eList)
{
case ePICKLIST :
m_xHistoriesXCU->getByName(s_sPickList) >>= xHistory;
break;
case eHISTORY :
m_xHistoriesXCU->getByName(s_sURLHistory) >>= xHistory;
break;
case eHELPBOOKMARKS :
m_xHistoriesXCU->getByName(s_sHelpBookmarks) >>= xHistory;
break;
}
if ( ! xHistory.is())
throw css::uno::Exception(MESSAGE_MISS_HISTORY, 0);
return xHistory;
}
//=============================================================================
css::uno::Reference< css::container::XNameAccess > HistoryOptTest::impl_getOldHistory()
{
if ( ! m_xCommonXCU.is())
{
m_xCommonXCU = css::uno::Reference< css::container::XNameAccess >(
::comphelper::ConfigurationHelper::openConfig(
::utl::getProcessServiceFactory(),
s_sCommonHistory,
::comphelper::ConfigurationHelper::E_STANDARD),
css::uno::UNO_QUERY_THROW);
}
css::uno::Reference< css::container::XNameAccess > xHistory;
switch (m_eList)
{
case ePICKLIST :
m_xCommonXCU->getByName(s_sPickList) >>= xHistory;
break;
case eHISTORY :
m_xCommonXCU->getByName(s_sURLHistory) >>= xHistory;
break;
case eHELPBOOKMARKS :
m_xCommonXCU->getByName(s_sHelpBookmarks) >>= xHistory;
break;
}
if ( ! xHistory.is())
throw css::uno::Exception(MESSAGE_MISS_HISTORY, 0);
return xHistory;
}
/*
//=============================================================================
// clear the list in XML directly when using the new Histories.xcs
void HistoryOptTest::impl_clearList(const ::rtl::OUString& sList)
{
css::uno::Reference< css::container::XNameAccess > xListAccess;
css::uno::Reference< css::container::XNameContainer > xItemOrder;
css::uno::Reference< css::beans::XPropertySet > xFirstItem;
css::uno::Sequence< ::rtl::OUString > sFileList;
if (sList.equalsAscii("PickList"))
m_xCfg->getByName(s_sPickList) >>= xListAccess;
else if (sList.equalsAscii("URLHistory"))
m_xCfg->getByName(s_sURLHistory) >>= xListAccess;
else if (sList.equalsAscii("HelpBookmarks"))
m_xCfg->getByName(s_sHelpBookmarks) >>= xListAccess;
if (xListAccess.is())
{
xListAccess->getByName(s_sItemList) >>= xItemOrder ;
sFileList = xItemOrder->getElementNames();
for(sal_Int32 i=0; i<sFileList.getLength(); ++i)
xItemOrder->removeByName(sFileList[i]);
xListAccess->getByName(s_sOrderList) >>= xItemOrder ;
sFileList = xItemOrder->getElementNames();
for(sal_Int32 j=0; j<sFileList.getLength(); ++j)
xItemOrder->removeByName(sFileList[j]);
xFirstItem = css::uno::Reference< css::beans::XPropertySet >(xListAccess, css::uno::UNO_QUERY);
xFirstItem->setPropertyValue( s_sFirstItem, css::uno::makeAny((sal_Int32)0) );
::comphelper::ConfigurationHelper::flush(m_xCfg);
}
}
//=============================================================================
// use configuration API (not ConfigItem!) to verify the results within XML !
sal_Bool HistoryOptTest::impl_isListEmpty(const ::rtl::OUString& sList)
{
css::uno::Reference< css::container::XNameAccess > xListAccess;
css::uno::Reference< css::container::XNameAccess > xItemList;
css::uno::Reference< css::container::XNameAccess > xOrderList;
sal_Bool bRet = sal_True;
if (sList.equalsAscii("PickList"))
m_xCfg->getByName(s_sPickList) >>= xListAccess;
else if (sList.equalsAscii("URLHistory"))
m_xCfg->getByName(s_sURLHistory) >>= xListAccess;
else if (sList.equalsAscii("HelpBookmarks"))
m_xCfg->getByName(s_sHelpBookmarks) >>= xListAccess;
if (xListAccess.is())
{
xListAccess->getByName(s_sItemList) >>= xItemList;
xListAccess->getByName(s_sOrderList) >>= xOrderList;
css::uno::Sequence< ::rtl::OUString > sItemList = xItemList->getElementNames();
css::uno::Sequence< ::rtl::OUString > sOrderList = xOrderList->getElementNames();
if (sItemList.getLength()!=0 || sOrderList.getLength()!=0)
bRet = sal_False;
}
return bRet;
}
//=============================================================================
// append a item: use configuration API (not ConfigItem!) to verify the results within XML !
void HistoryOptTest::impl_appendItem(const ::rtl::OUString& sList)
{//to do...
}
//=============================================================================
// test SvtHistoryOptions::GetSize()
void HistoryOptTest::impl_checkGetSize(const ::rtl::OUString& sList)
{
css::uno::Reference< css::beans::XPropertySet > xSet(m_xCommonXCU, css::uno::UNO_QUERY);
sal_uInt32 nSize = 0;
sal_uInt32 nSize_ = 0;
if (sList.equalsAscii("PickList"))
{
nSize = aHistoryOpt.GetSize(ePICKLIST);
xSet->setPropertyValue(s_sPickListSize, css::uno::makeAny(nSize+1));
::comphelper::ConfigurationHelper::flush(m_xCommonXCU);
nSize_ = aHistoryOpt.GetSize(ePICKLIST);
if (nSize_ == nSize)
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetSize(ePICKLIST) error!")), 0);
}
else if (sList.equalsAscii("URLHistory"))
{
nSize = aHistoryOpt.GetSize(eHISTORY);
xSet->setPropertyValue(s_sURLHistorySize, css::uno::makeAny(nSize+1));
::comphelper::ConfigurationHelper::flush(m_xCommonXCU);
nSize_ = aHistoryOpt.GetSize(eHISTORY);
if (nSize_ == nSize)
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetSize(eHISTORY) error!")), 0);
}
else if (sList.equalsAscii("HelpBookmarks"))
{
nSize = aHistoryOpt.GetSize(eHELPBOOKMARKS);
xSet->setPropertyValue(s_sHelpBookmarksSize, css::uno::makeAny(nSize+1));
::comphelper::ConfigurationHelper::flush(m_xCommonXCU);
nSize_ = aHistoryOpt.GetSize(eHELPBOOKMARKS);
if (nSize_ == nSize)
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetSize(eHELPBOOKMARKS) error!")), 0);
}
}
//=============================================================================
// test SvtHistoryOptions::SetSize()
void HistoryOptTest::impl_checkSetSize(const ::rtl::OUString& sList)
{
css::uno::Reference< css::beans::XPropertySet > xSet(m_xCommonXCU, css::uno::UNO_QUERY);
sal_uInt32 nSize = 0;
sal_uInt32 nSize_ = 0;
if (sList.equalsAscii("PickList"))
{
xSet->getPropertyValue(s_sPickListSize) >>= nSize;
aHistoryOpt.SetSize(ePICKLIST, (nSize+1));
xSet->getPropertyValue(s_sPickListSize) >>= nSize_;
if (nSize_ == nSize) //old config item will throw error
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SetSize(ePICKLIST) error!")), 0);
}
else if (sList.equalsAscii("URLHistory"))
{
xSet->getPropertyValue(s_sURLHistorySize) >>= nSize;
aHistoryOpt.SetSize(eHISTORY, (nSize+1));
xSet->getPropertyValue(s_sURLHistorySize) >>= nSize_;
if (nSize_ == nSize) //old config item will throw error
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SetSize(eHISTORY) error!")), 0);
}
else if (sList.equalsAscii("HelpBookmarks"))
{
xSet->getPropertyValue(s_sHelpBookmarksSize) >>= nSize;
aHistoryOpt.SetSize(eHELPBOOKMARKS, (nSize+1));
xSet->getPropertyValue(s_sHelpBookmarksSize) >>= nSize_;
if (nSize_ == nSize) //old config item will throw error
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SetSize(eHELPBOOKMARKS) error!")), 0);
}
}
//=============================================================================
// test SvtHistoryOptions::Clear()
void HistoryOptTest::impl_checkClear(const ::rtl::OUString& sList)
{
if (sList.equalsAscii("PickList"))
{
aHistoryOpt.Clear(ePICKLIST);
if ( !impl_isListEmpty(s_sPickList) )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Clear(ePICKLIST) error!")), 0);
}
else if (sList.equalsAscii("URLHistory"))
{
aHistoryOpt.Clear(eHISTORY);
if ( !impl_isListEmpty(s_sURLHistory) )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Clear(eHISTORY) error!")), 0);
}
else if (sList.equalsAscii("HelpBookmarks"))
{
aHistoryOpt.Clear(eHELPBOOKMARKS);
if ( !impl_isListEmpty(s_sHelpBookmarks) )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Clear(eHELPBOOKMARKS) error!")), 0);
}
}
//=============================================================================
// test SvtHistoryOptions::GetList()
void HistoryOptTest::impl_checkGetList(const ::rtl::OUString& sList)
{
if (sList.equalsAscii("PickList"))
{
impl_clearList(s_sPickList);
aHistoryOpt.AppendItem( ePICKLIST ,
::rtl::OUString::createFromAscii("file:///c/test1"),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > aHistoryList = aHistoryOpt.GetList( ePICKLIST );
if ( aHistoryList.getLength()==0 )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetList(ePICKLIST) error!")), 0);
}
else if (sList.equalsAscii("URLHistory"))
{
impl_clearList(s_sURLHistory);
aHistoryOpt.AppendItem( eHISTORY ,
::rtl::OUString::createFromAscii("file:///c/test1"),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > aHistoryList = aHistoryOpt.GetList( eHISTORY );
if ( aHistoryList.getLength()==0 )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetList(eHISTORY) error!")), 0);
}
else if (sList.equalsAscii("HelpBookmarks"))
{
impl_clearList(s_sHelpBookmarks);
aHistoryOpt.AppendItem( eHELPBOOKMARKS ,
::rtl::OUString::createFromAscii("file:///c/test1"),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
css::uno::Sequence< css::uno::Sequence< css::beans::PropertyValue > > aHistoryList = aHistoryOpt.GetList( eHELPBOOKMARKS );
if ( aHistoryList.getLength()==0 )
throw css::uno::RuntimeException(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GetList(eHELPBOOKMARKS) error!")), 0);
}
}
void HistoryOptTest::impl_checkAppendItem(const ::rtl::OUString& sList)
{
if (sList.equalsAscii("PickList"))
{
impl_clearList(s_sPickList);
sal_Int32 nListSize = aHistoryOpt.GetSize(ePICKLIST);
for (sal_Int32 i=0; i<nListSize; ++i)
aHistoryOpt.AppendItem( ePICKLIST ,
::rtl::OUString::valueOf(i),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
aHistoryOpt.AppendItem( ePICKLIST ,
::rtl::OUString::valueOf(nListSize),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
}
else if (sList.equalsAscii("URLHistory"))
{
impl_clearList(s_sURLHistory);
sal_Int32 nListSize = aHistoryOpt.GetSize(eHISTORY);
for (sal_Int32 i=0; i<nListSize; ++i)
aHistoryOpt.AppendItem( eHISTORY ,
::rtl::OUString::valueOf(i),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
aHistoryOpt.AppendItem( eHISTORY ,
::rtl::OUString::valueOf(nListSize),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii(""),
::rtl::OUString::createFromAscii("") );
}
else if (sList.equalsAscii("HelpBookmarks"))
{
//impl_clearList(s_sHelpBookmarks);
//sal_Int32 nListSize = aHistoryOpt.GetSize(eHELPBOOKMARKS);
//for (sal_Int32 i=0; i<nListSize; ++i)
// aHistoryOpt.AppendItem( eHELPBOOKMARKS ,
// ::rtl::OUString::valueOf(i),
// ::rtl::OUString::createFromAscii(""),
// ::rtl::OUString::createFromAscii(""),
// ::rtl::OUString::createFromAscii("") );
//aHistoryOpt.AppendItem( eHELPBOOKMARKS ,
// ::rtl::OUString::valueOf(nListSize),
// ::rtl::OUString::createFromAscii(""),
// ::rtl::OUString::createFromAscii(""),
// ::rtl::OUString::createFromAscii("") );
}
}
//=============================================================================
void HistoryOptTest::impl_checkPicklist()
{
impl_checkGetSize(s_sPickList);
impl_checkSetSize(s_sPickList);
impl_checkClear(s_sPickList);
impl_checkGetList(s_sPickList);
impl_checkAppendItem(s_sPickList);
}
//=============================================================================
void HistoryOptTest::impl_checkURLHistory()
{
impl_checkGetSize(s_sURLHistory);
impl_checkSetSize(s_sURLHistory);
impl_checkClear(s_sURLHistory);
impl_checkGetList(s_sURLHistory);
impl_checkAppendItem(s_sURLHistory);
}
//=============================================================================
void HistoryOptTest::impl_checkHelpBookmarks()
{
impl_checkGetSize(s_sHelpBookmarks);
impl_checkSetSize(s_sHelpBookmarks);
impl_checkClear(s_sHelpBookmarks);
impl_checkGetList(s_sHelpBookmarks);
impl_checkAppendItem(s_sHelpBookmarks);
}
*/