1 /*
2  * This file is part of the LibreOffice project.
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  *
8  * This file incorporates work covered by the following license notice:
9  *
10  *   Licensed to the Apache Software Foundation (ASF) under one or more
11  *   contributor license agreements. See the NOTICE file distributed
12  *   with this work for additional information regarding copyright
13  *   ownership. The ASF licenses this file to you under the Apache
14  *   License, Version 2.0 (the "License"); you may not use this file
15  *   except in compliance with the License. You may obtain a copy of
16  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
17  */
18 
19 package ifc.awt;
20 
21 import lib.MultiPropertyTest;
22 import util.utils;
23 
24 /**
25 * Testing <code>com.sun.star.awt.UnoControlEditModel</code>
26 * service properties :
27 * <ul>
28 *  <li><code> Align</code></li>
29 *  <li><code> BackgroundColor</code></li>
30 *  <li><code> Border</code></li>
31 *  <li><code> DefaultControl</code></li>
32 *  <li><code> EchoChar</code></li>
33 *  <li><code> Enabled</code></li>
34 *  <li><code> FontDescriptor</code></li>
35 *  <li><code> HardLineBreaks</code></li>
36 *  <li><code> HScroll</code></li>
37 *  <li><code> MaxTextLen</code></li>
38 *  <li><code> MultiLine</code></li>
39 *  <li><code> Printable</code></li>
40 *  <li><code> ReadOnly</code></li>
41 *  <li><code> Tabstop</code></li>
42 *  <li><code> Text</code></li>
43 *  <li><code> TextColor</code></li>
44 *  <li><code> VScroll</code></li>
45 * </ul>
46 * Almost all properties testing is automated by
47 * <code>lib.MultiPropertyTest</code>.
48 * @see com.sun.star.awt.UnoControlEditModel
49 */
50 public class _UnoControlEditModel extends MultiPropertyTest {
51 
52     /**
53     * This property can be VOID, and in case if it is so new
54     * value must defined.
55     */
_BackgroundColor()56     public void _BackgroundColor() {
57         testProperty("BackgroundColor", new PropertyTester() {
58             @Override
59             protected Object getNewValue(String p, Object old) {
60                 return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
61             }
62         }) ;
63     }
64 
65     /**
66     * This property can be VOID, and in case if it is so new
67     * value must defined.
68     */
_BorderColor()69     public void _BorderColor() {
70         testProperty("BorderColor", new PropertyTester() {
71             @Override
72             protected Object getNewValue(String p, Object old) {
73                 return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
74             }
75         }) ;
76     }
77 
78     /**
79     * This property can be VOID, and in case if it is so new
80     * value must defined.
81     */
_TextColor()82     public void _TextColor() {
83         testProperty("TextColor", new PropertyTester() {
84             @Override
85             protected Object getNewValue(String p, Object old) {
86                 return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
87             }
88         }) ;
89     }
90 
91     /**
92     * This property can be VOID, and in case if it is so new
93     * value must defined.
94     */
_Tabstop()95     public void _Tabstop() {
96         testProperty("Tabstop", new PropertyTester() {
97             @Override
98             protected Object getNewValue(String p, Object old) {
99                 return utils.isVoid(old) ? Boolean.TRUE : null ;
100             }
101         }) ;
102     }
103 
104     /**
105     * Redefined method returns value, that differs from property value.
106     */
107     protected PropertyTester ColorTester = new PropertyTester() {
108         @Override
109         protected Object getNewValue(String propName, Object oldValue) {
110             if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
111                 return Integer.valueOf(25);
112             else
113                 return Integer.valueOf(17);
114         }
115     };
116 
117     /**
118     * This property can be void, so if old value is <code> null </code>
119     * new value must be specified.
120     */
_TextLineColor()121     public void _TextLineColor() {
122         log.println("Testing with custom Property tester") ;
123         testProperty("TextLineColor", ColorTester) ;
124     }
125 }
126 
127