/*
* 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 .
*/
package ifc.text;
import lib.MultiPropertyTest;
import com.sun.star.text.XTextColumns;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.Type;
/**
* Testing com.sun.star.text.TextSection
* service properties :
*
Condition
IsVisible
IsProtected
FileLink
LinkRegion
DDECommandType
DDECommandFile
DDECommandElement
BackGraphicURL
BackGraphicFilter
BackGraphicLocation
FootnoteIsCollectAtTextEnd
FootnoteIsRestartNumbering
FootnoteRestartNumberingAt
FootnoteIsOwnNumbering
FootnoteNumberingType
FootnoteNumberingPrefix
FootnoteNumberingSuffix
EndnoteIsCollectAtTextEnd
EndnoteIsRestartNumbering
EndnoteRestartNumberingAt
EndnoteIsOwnNumbering
EndnoteNumberingType
EndnoteNumberingPrefix
EndnoteNumberingSuffix
IsAutomaticUpdate
* The following predefined files needed to complete the test: *
crazy-blue.jpg, space-metal.jpg
: are used for
* setting 'BackGraphicURL' property.
* Properties testing is automated by lib.MultiPropertyTest
.
* @see com.sun.star.text.TextSection
*/
public class _TextSection extends MultiPropertyTest {
/**
* Only image file URL can be used as a value.
*/
public void _BackGraphicURL() {
log.println("Testing with custom Property tester") ;
testProperty("BackGraphicURL",
util.utils.getFullTestURL("crazy-blue.jpg"),
util.utils.getFullTestURL("space-metal.jpg")) ;
}
/**
* This property can be void, so if old value is null
* new value must be specified.
*/
public void _FootnoteNumberingType() {
log.println("Testing with custom Property tester") ;
testProperty("FootnoteNumberingType",
Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_DOCUMENT),
Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_PAGE)) ;
}
/**
* Custom property tester for property TextColumns
*/
protected PropertyTester TextColumnsTester = new PropertyTester() {
@Override
protected Object getNewValue(String propName, Object oldValue) {
XTextColumns TC = null;
short val2set = 25;
TC = (XTextColumns) tEnv.getObjRelation("TC");
try {
val2set += ((XTextColumns) AnyConverter.toObject(
new Type(XTextColumns.class),oldValue)).getColumnCount();
} catch (com.sun.star.lang.IllegalArgumentException iae) {
log.println("Couldn't change Column count");
}
TC.setColumnCount(val2set);
return TC;
}
@Override
protected boolean compare(Object obj1, Object obj2) {
short val1 = 0;
short val2 = 1;
try {
val1 = ((XTextColumns) AnyConverter.toObject(
new Type(XTextColumns.class),obj1)).getColumnCount();
val2 = ((XTextColumns) AnyConverter.toObject(
new Type(XTextColumns.class),obj2)).getColumnCount();
} catch (com.sun.star.lang.IllegalArgumentException iae) {
log.println("comparing values failed");
}
return val1 == val2;
}
@Override
protected String toString(Object obj) {
return "XTextColumns: ColumnCount = "+
((XTextColumns) obj).getColumnCount();
}
};
public void _TextColumns() {
log.println("Testing with custom Property tester");
testProperty("TextColumns", TextColumnsTester);
}
} //finish class _TextContent