--- /dev/null
+/* ====================================================================
+ 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.apache.poi.xssf.usermodel;
+
+import static org.junit.Assert.*;
+
+import java.awt.Color;
+import java.io.IOException;
+import java.util.List;
+
+import org.junit.Test;
+
+public class TestXSSFTextParagraph {
+ @Test
+ public void testXSSFTextParagraph() throws IOException {
+ XSSFWorkbook wb = new XSSFWorkbook();
+ try {
+ XSSFSheet sheet = wb.createSheet();
+ XSSFDrawing drawing = sheet.createDrawingPatriarch();
+
+ XSSFTextBox shape = drawing.createTextbox(new XSSFClientAnchor(0, 0, 0, 0, 2, 2, 3, 4));
+ XSSFRichTextString rt = new XSSFRichTextString("Test String");
+
+ XSSFFont font = wb.createFont();
+ Color color = new Color(0, 255, 255);
+ font.setColor(new XSSFColor(color));
+ font.setFontName("Arial");
+ rt.applyFont(font);
+
+ shape.setText(rt);
+
+ List<XSSFTextParagraph> paras = shape.getTextParagraphs();
+ assertEquals(1, paras.size());
+
+ XSSFTextParagraph text = paras.get(0);
+ assertEquals("Test String", text.getText());
+
+ assertFalse(text.isBullet());
+ assertNotNull(text.getXmlObject());
+ assertEquals(shape.getCTShape(), text.getParentShape());
+ assertNotNull(text.iterator());
+ assertNotNull(text.addLineBreak());
+
+ assertNotNull(text.getTextRuns());
+ assertEquals(2, text.getTextRuns().size());
+ text.addNewTextRun();
+ assertEquals(3, text.getTextRuns().size());
+
+ assertEquals(TextAlign.LEFT, text.getTextAlign());
+ text.setTextAlign(null);
+ assertEquals(TextAlign.LEFT, text.getTextAlign());
+ text.setTextAlign(TextAlign.CENTER);
+ assertEquals(TextAlign.CENTER, text.getTextAlign());
+ text.setTextAlign(TextAlign.RIGHT);
+ assertEquals(TextAlign.RIGHT, text.getTextAlign());
+ text.setTextAlign(null);
+ assertEquals(TextAlign.LEFT, text.getTextAlign());
+
+ text.setTextFontAlign(TextFontAlign.BASELINE);
+ assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
+ text.setTextFontAlign(TextFontAlign.BOTTOM);
+ assertEquals(TextFontAlign.BOTTOM, text.getTextFontAlign());
+ text.setTextFontAlign(null);
+ assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
+ text.setTextFontAlign(null);
+ assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
+
+ assertNull(text.getBulletFont());
+ text.setBulletFont("Arial");
+ assertEquals("Arial", text.getBulletFont());
+
+ assertNull(text.getBulletCharacter());
+ text.setBulletCharacter(".");
+ assertEquals(".", text.getBulletCharacter());
+
+ assertNull(text.getBulletFontColor());
+ text.setBulletFontColor(color);
+ assertEquals(color, text.getBulletFontColor());
+
+ assertEquals(100.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(1.0);
+ assertEquals(1.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(1.0);
+ assertEquals(1.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(-9.0);
+ assertEquals(-9.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(-9.0);
+ assertEquals(-9.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(1.0);
+ assertEquals(1.0, text.getBulletFontSize(), 0.01);
+ text.setBulletFontSize(-9.0);
+ assertEquals(-9.0, text.getBulletFontSize(), 0.01);
+
+ assertEquals(0.0, text.getIndent(), 0.01);
+ text.setIndent(2.0);
+ assertEquals(2.0, text.getIndent(), 0.01);
+ text.setIndent(-1.0);
+ assertEquals(0.0, text.getIndent(), 0.01);
+ text.setIndent(-1.0);
+ assertEquals(0.0, text.getIndent(), 0.01);
+
+ assertEquals(0.0, text.getLeftMargin(), 0.01);
+ text.setLeftMargin(3.0);
+ assertEquals(3.0, text.getLeftMargin(), 0.01);
+ text.setLeftMargin(-1.0);
+ assertEquals(0.0, text.getLeftMargin(), 0.01);
+ text.setLeftMargin(-1.0);
+ assertEquals(0.0, text.getLeftMargin(), 0.01);
+
+ assertEquals(0.0, text.getRightMargin(), 0.01);
+ text.setRightMargin(4.5);
+ assertEquals(4.5, text.getRightMargin(), 0.01);
+ text.setRightMargin(-1.0);
+ assertEquals(0.0, text.getRightMargin(), 0.01);
+ text.setRightMargin(-1.0);
+ assertEquals(0.0, text.getRightMargin(), 0.01);
+
+ assertEquals(0.0, text.getDefaultTabSize(), 0.01);
+
+ assertEquals(0.0, text.getTabStop(0), 0.01);
+ text.addTabStop(3.14);
+ assertEquals(3.14, text.getTabStop(0), 0.01);
+
+ assertEquals(100.0, text.getLineSpacing(), 0.01);
+ text.setLineSpacing(3.15);
+ assertEquals(3.15, text.getLineSpacing(), 0.01);
+ text.setLineSpacing(-2.13);
+ assertEquals(-2.13, text.getLineSpacing(), 0.01);
+
+ assertEquals(0.0, text.getSpaceBefore(), 0.01);
+ text.setSpaceBefore(3.17);
+ assertEquals(3.17, text.getSpaceBefore(), 0.01);
+ text.setSpaceBefore(-4.7);
+ assertEquals(-4.7, text.getSpaceBefore(), 0.01);
+
+ assertEquals(0.0, text.getSpaceAfter(), 0.01);
+ text.setSpaceAfter(6.17);
+ assertEquals(6.17, text.getSpaceAfter(), 0.01);
+ text.setSpaceAfter(-8.17);
+ assertEquals(-8.17, text.getSpaceAfter(), 0.01);
+
+ assertEquals(0, text.getLevel());
+ text.setLevel(1);
+ assertEquals(1, text.getLevel());
+ text.setLevel(4);
+ assertEquals(4, text.getLevel());
+
+ assertTrue(text.isBullet());
+ assertFalse(text.isBulletAutoNumber());
+ text.setBullet(false);
+ text.setBullet(false);
+ assertFalse(text.isBullet());
+ assertFalse(text.isBulletAutoNumber());
+ text.setBullet(true);
+ assertTrue(text.isBullet());
+ assertFalse(text.isBulletAutoNumber());
+ assertEquals(0, text.getBulletAutoNumberStart());
+ assertEquals(ListAutoNumber.ARABIC_PLAIN, text.getBulletAutoNumberScheme());
+
+ text.setBullet(false);
+ assertFalse(text.isBullet());
+ text.setBullet(ListAutoNumber.CIRCLE_NUM_DB_PLAIN);
+ assertTrue(text.isBullet());
+ assertTrue(text.isBulletAutoNumber());
+ assertEquals(0, text.getBulletAutoNumberStart());
+ assertEquals(ListAutoNumber.CIRCLE_NUM_DB_PLAIN, text.getBulletAutoNumberScheme());
+ text.setBullet(false);
+ assertFalse(text.isBullet());
+ assertFalse(text.isBulletAutoNumber());
+ text.setBullet(ListAutoNumber.CIRCLE_NUM_WD_BLACK_PLAIN, 10);
+ assertTrue(text.isBullet());
+ assertTrue(text.isBulletAutoNumber());
+ assertEquals(10, text.getBulletAutoNumberStart());
+ assertEquals(ListAutoNumber.CIRCLE_NUM_WD_BLACK_PLAIN, text.getBulletAutoNumberScheme());
+
+
+ assertNotNull(text.toString());
+
+ new XSSFTextParagraph(text.getXmlObject(), shape.getCTShape());
+ } finally {
+ wb.close();
+ }
+ }
+}