123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /*
- * ====================================================================
- * 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.xslf.usermodel;
-
- import static org.apache.poi.sl.TestCommonSL.sameColor;
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertTrue;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.when;
-
- import java.awt.Color;
- import java.io.IOException;
-
- import org.apache.poi.sl.draw.DrawTextParagraph;
- import org.junit.Test;
-
- /**
- * @author Yegor Kozlov
- */
- public class TestXSLFTextRun {
-
- @Test
- public void testRunProperties() throws IOException {
- XMLSlideShow ppt = new XMLSlideShow();
- XSLFSlide slide = ppt.createSlide();
- XSLFTextShape sh = slide.createAutoShape();
-
- XSLFTextRun r = sh.addNewTextParagraph().addNewTextRun();
- assertEquals("en-US", r.getRPr(true).getLang());
-
- assertEquals(0., r.getCharacterSpacing(), 0);
- r.setCharacterSpacing(3);
- assertEquals(3., r.getCharacterSpacing(), 0);
- r.setCharacterSpacing(-3);
- assertEquals(-3., r.getCharacterSpacing(), 0);
- r.setCharacterSpacing(0);
- assertEquals(0., r.getCharacterSpacing(), 0);
- assertFalse(r.getRPr(true).isSetSpc());
-
- assertTrue(sameColor(Color.black, r.getFontColor()));
- r.setFontColor(Color.red);
- assertTrue(sameColor(Color.red, r.getFontColor()));
-
- assertEquals("Calibri", r.getFontFamily());
- r.setFontFamily("Arial");
- assertEquals("Arial", r.getFontFamily());
-
- assertEquals(18.0, r.getFontSize(), 0);
- r.setFontSize(13.0);
- assertEquals(13.0, r.getFontSize(), 0);
-
- assertFalse(r.isSuperscript());
- r.setSuperscript(true);
- assertTrue(r.isSuperscript());
- r.setSuperscript(false);
- assertFalse(r.isSuperscript());
-
- assertFalse(r.isSubscript());
- r.setSubscript(true);
- assertTrue(r.isSubscript());
- r.setSubscript(false);
- assertFalse(r.isSubscript());
-
- ppt.close();
- }
-
- @Test
- public void testUnicodeSurrogates() throws Exception {
- final String unicodeSurrogates = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E"
- + "\uD835\uDF4F\uD835\uDF50\uD835\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835"
- + "\uDF55\uD835\uDF56\uD835\uDF57\uD835\uDF58\uD835\uDF59\uD835\uDF5A\uD835\uDF5B"
- + "\uD835\uDF5C\uD835\uDF5D\uD835\uDF5E\uD835\uDF5F\uD835\uDF60\uD835\uDF61\uD835"
- + "\uDF62\uD835\uDF63\uD835\uDF64\uD835\uDF65\uD835\uDF66\uD835\uDF67\uD835\uDF68"
- + "\uD835\uDF69\uD835\uDF6A\uD835\uDF6B\uD835\uDF6C\uD835\uDF6D\uD835\uDF6E\uD835"
- + "\uDF6F\uD835\uDF70\uD835\uDF71\uD835\uDF72\uD835\uDF73\uD835\uDF74\uD835\uDF75"
- + "\uD835\uDF76\uD835\uDF77\uD835\uDF78\uD835\uDF79\uD835\uDF7A";
-
- try (XMLSlideShow ppt = new XMLSlideShow()) {
- XSLFSlide slide = ppt.createSlide();
- XSLFTextShape sh = slide.createAutoShape();
- XSLFTextParagraph p = sh.addNewTextParagraph();
- XSLFTextRun r = p.addNewTextRun();
- r.setText(unicodeSurrogates);
-
- assertEquals(unicodeSurrogates, new DrawTextParagraph(p).getRenderableText(r));
- }
- }
-
- @Test
- public void testCopyNullFontSize() throws IOException {
- XMLSlideShow ppt = new XMLSlideShow();
- XSLFSlide slide = ppt.createSlide();
- XSLFTextShape sh = slide.createAutoShape();
-
- XSLFTextRun r = sh.addNewTextParagraph().addNewTextRun();
- XSLFTextRun s = mock(XSLFTextRun.class);
- when(s.getFontSize()).thenReturn(null);
-
- r.copy(s);
- }
- }
|