diff options
author | Dominik Stadler <centic@apache.org> | 2017-10-06 17:41:20 +0000 |
---|---|---|
committer | Dominik Stadler <centic@apache.org> | 2017-10-06 17:41:20 +0000 |
commit | fbdf4dca6827fbb2ee60452048aa13c852927a41 (patch) | |
tree | 74aa7514ea1246f858bd7bbc0904d5b16d8cce4f | |
parent | 166be972646d822ece279f0690da39055dbd9fab (diff) | |
download | poi-fbdf4dca6827fbb2ee60452048aa13c852927a41.tar.gz poi-fbdf4dca6827fbb2ee60452048aa13c852927a41.zip |
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
-rw-r--r-- | src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java | 96 | ||||
-rw-r--r-- | test-data/document/61586.doc | bin | 0 -> 27648 bytes |
2 files changed, 89 insertions, 7 deletions
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java index 449bdffc29..49902b77cd 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestRangeSymbols.java @@ -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(); + } }
\ No newline at end of file diff --git a/test-data/document/61586.doc b/test-data/document/61586.doc Binary files differnew file mode 100644 index 0000000000..cc044515a3 --- /dev/null +++ b/test-data/document/61586.doc |