summaryrefslogtreecommitdiff
path: root/include/test/unoapi_property_testers.hxx
blob: f45b772b86e33834ebe610c0fe717865d0e2146a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
 * 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/.
 */

#ifndef INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX
#define INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX

#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/util/Color.hpp>

#include <sal/config.h>
#include <test/testdllapi.hxx>

namespace apitest
{
/** @brief Tester for property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 */
void OOO_DLLPUBLIC_TEST testBooleanProperty(
    css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);

/** @brief Tester for optional property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
 *
 * Pass the test also if the property doesn't exists (throws a com::sun::star::beans::UnknownPropertyException)
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 */
void OOO_DLLPUBLIC_TEST testBooleanOptionalProperty(
    css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);

/** @brief Tester for read-only property type 'boolean' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 */
void OOO_DLLPUBLIC_TEST testBooleanReadonlyProperty(
    css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name);

/** @brief Tester for property type 'double' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testDoubleProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                   const OUString& name, const double& dValue = 42.0);

/** @brief Tester for read-only property type 'double' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testDoubleReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                           const OUString& name, const double& dValue = 42.0);

/** @brief Tester for property type 'long' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testLongProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                 const OUString& name, const sal_Int32& nValue = 42);

/** @brief Tester for read-only property type 'long' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testLongReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                         const OUString& name, const sal_Int32& nValue = 42);

/** @brief Tester for property type 'short' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testShortProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                  const OUString& name, const sal_Int16& nValue = 42);

/** @brief Tester for read-only property type 'short' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   nValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testShortReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                          const OUString& name, const sal_Int16& nValue = 42);

/** @brief Tester for property type 'string' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   rValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testStringProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                   const OUString& name, const OUString& rValue);

/** @brief Tester for optional property type 'string' of a @see com::sun::star::beans::XPropertySet.
 *
 * Pass the test also if the property doesn't exists (throws a com::sun::star::beans::UnknownPropertyException)
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   rValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testStringOptionalProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                           const OUString& name, const OUString& rValue = OUString("StringValue"));

/** @brief Tester for read-only property type 'string' of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   rValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST
testStringReadonlyProperty(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet,
                           const OUString& name, const OUString& rValue);

/** @brief Tester for property type com::sun::star::util::Color of a @see com::sun::star::beans::XPropertySet.
 *
 * @param   xPropertySet    The property set, which contains the property to test against.
 * @param   name            Name of property to test.
 * @param   rValue          Value to use when setting a new value.
 */
void OOO_DLLPUBLIC_TEST testColorProperty(
    css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, const OUString& name,
    const css::util::Color& rValue = css::util::Color(0x12345678));

} // namespace apitest
#endif // INCLUDED_TEST_INC_UNOAPIPROPERTYTESTERS_HXX

/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */