1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef SVTOOLS_HISTORYOPTTEST_HXX 25*b1cdbd2cSJim Jagielski #define SVTOOLS_HISTORYOPTTEST_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XNameAccess.hpp> 28*b1cdbd2cSJim Jagielski #include <unotools/historyoptions.hxx> 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski namespace css = ::com::sun::star; 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski class HistoryOptTest 33*b1cdbd2cSJim Jagielski { 34*b1cdbd2cSJim Jagielski public: 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski HistoryOptTest(); 37*b1cdbd2cSJim Jagielski virtual ~HistoryOptTest(); 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 40*b1cdbd2cSJim Jagielski /** unit test of picklist */ 41*b1cdbd2cSJim Jagielski void checkPicklist(); 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 44*b1cdbd2cSJim Jagielski /** unit test of URL list */ 45*b1cdbd2cSJim Jagielski void checkURLHistory(); 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 48*b1cdbd2cSJim Jagielski /** unit test of Help bookmarks */ 49*b1cdbd2cSJim Jagielski void checkHelpBookmarks(); 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski private: 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 54*b1cdbd2cSJim Jagielski /** test every well known history list in the same way. 55*b1cdbd2cSJim Jagielski * Only the count of created and tested items can be defined from outside 56*b1cdbd2cSJim Jagielski * e.g. usefull for stress tests. 57*b1cdbd2cSJim Jagielski * 58*b1cdbd2cSJim Jagielski * @param eHistory 59*b1cdbd2cSJim Jagielski * specify the history list for testing. 60*b1cdbd2cSJim Jagielski * 61*b1cdbd2cSJim Jagielski * @param nMaxItems 62*b1cdbd2cSJim Jagielski * max count of new created and tested history items. 63*b1cdbd2cSJim Jagielski */ 64*b1cdbd2cSJim Jagielski void impl_testHistory(EHistoryType eHistory , 65*b1cdbd2cSJim Jagielski ::sal_Int32 nMaxItems); 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 68*b1cdbd2cSJim Jagielski /** try to clear the whole list and check the results. 69*b1cdbd2cSJim Jagielski * If list could not be cleared successfully an exception is thrown. 70*b1cdbd2cSJim Jagielski */ 71*b1cdbd2cSJim Jagielski void impl_clearList(); 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 74*b1cdbd2cSJim Jagielski /** define a new size for the current list and check the results. 75*b1cdbd2cSJim Jagielski * Note: The given size must match against the defined constraints. 76*b1cdbd2cSJim Jagielski * That must be checked before this method is called. 77*b1cdbd2cSJim Jagielski * 78*b1cdbd2cSJim Jagielski * @param nSize 79*b1cdbd2cSJim Jagielski * the new size. 80*b1cdbd2cSJim Jagielski */ 81*b1cdbd2cSJim Jagielski void impl_setSize(::sal_Int32 nSize); 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 84*b1cdbd2cSJim Jagielski /** create a new item (means it's properties using a special schema using the 85*b1cdbd2cSJim Jagielski * item id). 86*b1cdbd2cSJim Jagielski * 87*b1cdbd2cSJim Jagielski * Note: This method does not check if creation was successfully. 88*b1cdbd2cSJim Jagielski * Therefore exists more specialized method impl_existsItem() 89*b1cdbd2cSJim Jagielski * and impl_existsItemAtPosition(). 90*b1cdbd2cSJim Jagielski * 91*b1cdbd2cSJim Jagielski * @param nItem 92*b1cdbd2cSJim Jagielski * id of the item 93*b1cdbd2cSJim Jagielski */ 94*b1cdbd2cSJim Jagielski void impl_appendItem(::sal_Int32 nItem); 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 97*b1cdbd2cSJim Jagielski /** check if an entry for given item id realy exists (in memory and xcu file). 98*b1cdbd2cSJim Jagielski * 99*b1cdbd2cSJim Jagielski * @param nItem 100*b1cdbd2cSJim Jagielski * id of the item 101*b1cdbd2cSJim Jagielski * 102*b1cdbd2cSJim Jagielski * @return true if item exists - false otherwise. 103*b1cdbd2cSJim Jagielski */ 104*b1cdbd2cSJim Jagielski ::sal_Bool impl_existsItem(::sal_Int32 nItem); 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 107*b1cdbd2cSJim Jagielski /** check if an entry for given item id realy exists (in memory and xcu file). 108*b1cdbd2cSJim Jagielski * Further it checks if the requested item is placed at the also specified 109*b1cdbd2cSJim Jagielski * position inside history list. 110*b1cdbd2cSJim Jagielski * 111*b1cdbd2cSJim Jagielski * @param nItem 112*b1cdbd2cSJim Jagielski * id of the item 113*b1cdbd2cSJim Jagielski * 114*b1cdbd2cSJim Jagielski * @param nIndex 115*b1cdbd2cSJim Jagielski * expected position of item inside history list. 116*b1cdbd2cSJim Jagielski * 117*b1cdbd2cSJim Jagielski * @return true if item exists at right position - false otherwise. 118*b1cdbd2cSJim Jagielski */ 119*b1cdbd2cSJim Jagielski ::sal_Bool impl_existsItemAtIndex(::sal_Int32 nItem , 120*b1cdbd2cSJim Jagielski ::sal_Int32 nIndex); 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 123*b1cdbd2cSJim Jagielski /** create an URL suitable for the given item id. 124*b1cdbd2cSJim Jagielski * 125*b1cdbd2cSJim Jagielski * @param nItem 126*b1cdbd2cSJim Jagielski * id of the item 127*b1cdbd2cSJim Jagielski * 128*b1cdbd2cSJim Jagielski * @return the new created URL. 129*b1cdbd2cSJim Jagielski */ 130*b1cdbd2cSJim Jagielski ::rtl::OUString impl_createItemURL(::sal_Int32 nItem); 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 133*b1cdbd2cSJim Jagielski /** create a title suitable for the given item id. 134*b1cdbd2cSJim Jagielski * 135*b1cdbd2cSJim Jagielski * @param nItem 136*b1cdbd2cSJim Jagielski * id of the item 137*b1cdbd2cSJim Jagielski * 138*b1cdbd2cSJim Jagielski * @return the new created title. 139*b1cdbd2cSJim Jagielski */ 140*b1cdbd2cSJim Jagielski ::rtl::OUString impl_createItemTitle(::sal_Int32 nItem); 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 143*b1cdbd2cSJim Jagielski /** create a password suitable for the given item id. 144*b1cdbd2cSJim Jagielski * 145*b1cdbd2cSJim Jagielski * @param nItem 146*b1cdbd2cSJim Jagielski * id of the item 147*b1cdbd2cSJim Jagielski * 148*b1cdbd2cSJim Jagielski * @return the new created password. 149*b1cdbd2cSJim Jagielski */ 150*b1cdbd2cSJim Jagielski ::rtl::OUString impl_createItemPassword(::sal_Int32 nItem); 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 153*b1cdbd2cSJim Jagielski /** returns direct access to the item list inside histories.xcu 154*b1cdbd2cSJim Jagielski * suitable for the current defined list type (m_eList). 155*b1cdbd2cSJim Jagielski * 156*b1cdbd2cSJim Jagielski * @return reference to the item list configuration 157*b1cdbd2cSJim Jagielski */ 158*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > impl_getItemList(); 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 161*b1cdbd2cSJim Jagielski /** returns direct access to the order list inside histories.xcu 162*b1cdbd2cSJim Jagielski * suitable for the current defined list type (m_eList). 163*b1cdbd2cSJim Jagielski * 164*b1cdbd2cSJim Jagielski * @return reference to the order list configuration 165*b1cdbd2cSJim Jagielski */ 166*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > impl_getOrderList(); 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 169*b1cdbd2cSJim Jagielski /** returns direct access to the history list inside histories.xcu 170*b1cdbd2cSJim Jagielski * suitable for the current defined list type (m_eList). 171*b1cdbd2cSJim Jagielski * 172*b1cdbd2cSJim Jagielski * @return reference to the history list configuration 173*b1cdbd2cSJim Jagielski */ 174*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > impl_getNewHistory(); 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski //--------------------------------------------------------------------- 177*b1cdbd2cSJim Jagielski /** returns direct access to the history config inside common.xcu 178*b1cdbd2cSJim Jagielski * suitable for the current defined list type (m_eList). 179*b1cdbd2cSJim Jagielski * 180*b1cdbd2cSJim Jagielski * @return reference to the history configuration 181*b1cdbd2cSJim Jagielski */ 182*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > impl_getOldHistory(); 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski private: 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielski // the config item which should be tested here 187*b1cdbd2cSJim Jagielski SvtHistoryOptions m_aConfigItem; 188*b1cdbd2cSJim Jagielski 189*b1cdbd2cSJim Jagielski // defines the special list for testing (picklist, history or url list) 190*b1cdbd2cSJim Jagielski EHistoryType m_eList; 191*b1cdbd2cSJim Jagielski 192*b1cdbd2cSJim Jagielski // underlying configuration of the tested config items for cross over checks 193*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > m_xHistoriesXCU; 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski // underlying configuration of the tested config items for cross over checks 196*b1cdbd2cSJim Jagielski css::uno::Reference< css::container::XNameAccess > m_xCommonXCU; 197*b1cdbd2cSJim Jagielski }; 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski #endif // #ifndef SVTOOLS_HISTORYOPTTEST_HXX 200