Browse Source

Bug 61586: Add test which shows that it works as expected

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1811355 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_4_0_0_FINAL
Dominik Stadler 6 years ago
parent
commit
fbdf4dca68

+ 89
- 7
src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java View File

@@ -19,16 +19,18 @@ package org.apache.poi.hwpf.usermodel;

import java.io.IOException;

import junit.framework.TestCase;

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.hwpf.model.Ffn;
import org.junit.Test;

import static org.junit.Assert.*;

/**
* API for processing of symbols, see Bugzilla 49908
*/
public final class TestRangeSymbols extends TestCase {
public final class TestRangeSymbols {
@Test
public void test() throws IOException {
HWPFDocument doc = HWPFTestDataSamples.openSampleFile("Bug49908.doc");

@@ -36,13 +38,93 @@ public final class TestRangeSymbols extends TestCase {

assertTrue(range.numCharacterRuns() >= 2);
CharacterRun chr = range.getCharacterRun(0);
assertEquals(false, chr.isSymbol());
assertFalse(chr.isSymbol());

chr = range.getCharacterRun(1);
assertEquals(true, chr.isSymbol());
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
assertEquals("Wingdings", chr.getSymbolFont().getMainFontName());
Ffn symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Wingdings", symbolFont.getMainFontName());
assertEquals(0xf028, chr.getSymbolCharacter());
}

@Test
public void test61586() throws IOException {
HWPFDocument document = HWPFTestDataSamples.openSampleFile("61586.doc");
assertEquals("\r" +
"\r" +
"TEST( \r" +
"111 (g.h/mL (AUC) and 15 (g/mL (Cmax). \r" +
"TEST( \r" +
"Greek mu(\r" +
"(\r\r", document.getText().toString());

Range range = document.getRange();

assertEquals(26, range.numCharacterRuns());

// newline
CharacterRun chr = range.getCharacterRun(0);
assertFalse(chr.isSymbol());
assertEquals("\r", chr.text());

// "TEST"
chr = range.getCharacterRun(2);
assertFalse(chr.isSymbol());
assertEquals("TEST", chr.text());

// "registered" symbol
chr = range.getCharacterRun(3);
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
Ffn symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Symbol", symbolFont.getMainFontName());
assertEquals(0xf0e2, chr.getSymbolCharacter());
assertEquals("(", chr.text());

// Greek "mu" symbol
chr = range.getCharacterRun(8);
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Symbol", symbolFont.getMainFontName());
assertEquals(0xf06d, chr.getSymbolCharacter());

// Greek "mu" symbol
chr = range.getCharacterRun(12);
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Symbol", symbolFont.getMainFontName());
assertEquals(0xf06d, chr.getSymbolCharacter());

// "registered" symbol
chr = range.getCharacterRun(17);
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Symbol", symbolFont.getMainFontName());
assertEquals(0xf0e2, chr.getSymbolCharacter());

// Greek "mu" symbol
chr = range.getCharacterRun(21);
assertTrue(chr.isSymbol());
assertEquals("\u0028", chr.text());
symbolFont = chr.getSymbolFont();
assertNotNull(symbolFont);
assertEquals("Symbol", symbolFont.getMainFontName());
assertEquals(0xf06d, chr.getSymbolCharacter());

// normal bracket, not a symbol
chr = range.getCharacterRun(23);
assertFalse(chr.isSymbol());
assertEquals("\u0028", chr.text());

document.close();
}
}

BIN
test-data/document/61586.doc View File


Loading…
Cancel
Save