blob: 65114004ed77b49eff947eb23a8306bfdc2a256a [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.
*/
package org.odftoolkit.simple.style;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import junit.framework.Assert;
import org.junit.Test;
import org.odftoolkit.odfdom.type.Color;
import org.odftoolkit.simple.Document;
import org.odftoolkit.simple.SpreadsheetDocument;
import org.odftoolkit.simple.table.Cell;
import org.odftoolkit.simple.table.Table;
import org.odftoolkit.simple.utils.ResourceUtilities;
public class TextPropertiesTest {
private static final Logger LOGGER = Logger.getLogger(TextPropertiesTest.class.getName());
@Test
public void testGetFontSizeInPoint() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontSizeInPoint(3.32);
//validate
Double fontInPoint = textProperties.getFontSizeInPoint();
Assert.assertEquals(3.32, fontInPoint);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput89.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetFontStyle() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLDITALIC);
//validate
StyleTypeDefinitions.FontStyle fontStyle = textProperties.getFontStyle();
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLDITALIC, fontStyle);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLD);
//validate
StyleTypeDefinitions.FontStyle fontStyle1 = textProperties.getFontStyle();
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLD, fontStyle1);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.ITALIC);
//validate
StyleTypeDefinitions.FontStyle fontStyle2 = textProperties.getFontStyle();
Assert.assertEquals(StyleTypeDefinitions.FontStyle.ITALIC, fontStyle2);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.REGULAR);
//validate
StyleTypeDefinitions.FontStyle fontStyle3 = textProperties.getFontStyle();
Assert.assertEquals(StyleTypeDefinitions.FontStyle.REGULAR, fontStyle3);
//save
//document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetFontStyleParam() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLDITALIC, Document.ScriptType.WESTERN);
//validate
StyleTypeDefinitions.FontStyle fontStyle = textProperties.getFontStyle(Document.ScriptType.WESTERN);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLDITALIC, fontStyle);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLDITALIC, Document.ScriptType.CJK);
//validate
StyleTypeDefinitions.FontStyle fontStyle1 = textProperties.getFontStyle(Document.ScriptType.CJK);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLDITALIC, fontStyle1);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.ITALIC, Document.ScriptType.CJK);
//validate
StyleTypeDefinitions.FontStyle fontStyle2 = textProperties.getFontStyle(Document.ScriptType.CJK);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.ITALIC, fontStyle2);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.REGULAR, Document.ScriptType.CJK);
//validate
StyleTypeDefinitions.FontStyle fontStyle3 = textProperties.getFontStyle(Document.ScriptType.CJK);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.REGULAR, fontStyle3);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLD, Document.ScriptType.CTL);
//validate
StyleTypeDefinitions.FontStyle fontStyle4 = textProperties.getFontStyle(Document.ScriptType.CTL);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLD, fontStyle4);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.ITALIC, Document.ScriptType.CTL);
//validate
StyleTypeDefinitions.FontStyle fontStyle5 = textProperties.getFontStyle(Document.ScriptType.CTL);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.ITALIC, fontStyle5);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.BOLDITALIC, Document.ScriptType.CTL);
//validate
StyleTypeDefinitions.FontStyle fontStyle6 = textProperties.getFontStyle(Document.ScriptType.CTL);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.BOLDITALIC, fontStyle6);
textProperties.setFontStyle(StyleTypeDefinitions.FontStyle.REGULAR, Document.ScriptType.CTL);
//validate
StyleTypeDefinitions.FontStyle fontStyle7 = textProperties.getFontStyle(Document.ScriptType.CTL);
Assert.assertEquals(StyleTypeDefinitions.FontStyle.REGULAR, fontStyle7);
//save
//document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetSetLanguage() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setLanguage("Chinese");
//validate
String lan = textProperties.getLanguage();
Assert.assertEquals("Chinese", lan);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetSetLanguageParam() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setLanguage("Chinese", Document.ScriptType.CJK);
//validate
String lan = textProperties.getLanguage(Document.ScriptType.CJK);
Assert.assertEquals("Chinese", lan);
textProperties.setLanguage("Chinese", Document.ScriptType.CTL);
//validate
String lan1 = textProperties.getLanguage(Document.ScriptType.CTL);
Assert.assertEquals("Chinese", lan1);
textProperties.setLanguage(null, Document.ScriptType.CTL);
//validate
String lan2 = textProperties.getLanguage(Document.ScriptType.CTL);
Assert.assertEquals(null, lan2);
textProperties.setLanguage(null, Document.ScriptType.WESTERN);
//validate
String lan3 = textProperties.getLanguage(Document.ScriptType.WESTERN);
Assert.assertEquals(null, lan3);
textProperties.setLanguage(null, Document.ScriptType.CJK);
//validate
String lan4 = textProperties.getLanguage(Document.ScriptType.CJK);
Assert.assertEquals(null, lan4);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetCountry() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setCountry("china");
//validate
String country = textProperties.getCountry();
Assert.assertEquals("china", country);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetCountryParam() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setCountry("china", Document.ScriptType.WESTERN);
//validate
String country = textProperties.getCountry(Document.ScriptType.WESTERN);
Assert.assertEquals("china", country);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetColor() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontColor(Color.GREEN);
//validate
Color green = textProperties.getFontColor();
Assert.assertEquals(Color.GREEN.toString(), green.toString());
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetSetName() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontName("fontname");
//validate
String fontName = textProperties.getFontName();
Assert.assertEquals("fontname", fontName);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testGetSetNameParam() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFontName("fontname", Document.ScriptType.WESTERN);
//validate
String fontName = textProperties.getFontName(Document.ScriptType.WESTERN);
Assert.assertEquals("fontname", fontName);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testSetFont() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
//cell.setFont(font);
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFont(font);
//validate
Font font1 = textProperties.getFont();
Assert.assertEquals(font, font1);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
@Test
public void testSetFontName() {
try {
SpreadsheetDocument document = SpreadsheetDocument.newSpreadsheetDocument();
Table table = document.getTableByName("Sheet1");
Font font = new Font("Arial", StyleTypeDefinitions.FontStyle.ITALIC, 17.5, Color.GREEN, StyleTypeDefinitions.TextLinePosition.REGULAR, Locale.ENGLISH);
Cell cell = table.getCellByPosition("A1");
//cell.setFont(font);
font.setFamilyName("Chinese");
cell.setStringValue("testGetFontStyle.");
TextProperties textProperties = cell.getStyleHandler().getTextPropertiesForWrite();
textProperties.setFont(font);
//validate
String fontname = textProperties.getFontName();
Assert.assertEquals("Chinese", fontname);
//save
document.save(ResourceUtilities.newTestOutputFile("testFontOutput1.ods"));
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
Assert.fail(e.getMessage());
}
}
}