浏览代码

Test correct processing of "sprmPItap" (0x6649) and "sprmPFInTable" (0x2416)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1142867 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_8_BETA4
Sergey Vladimirov 13 年前
父节点
当前提交
7be1716674
共有 2 个文件被更改,包括 55 次插入17 次删除
  1. 55
    17
      src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java
  2. 二进制
      test-data/document/innertable.doc

+ 55
- 17
src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java 查看文件

@@ -27,35 +27,73 @@ import java.io.InputStream;
import junit.framework.TestCase;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
public class TestSprms extends TestCase
{
private static HWPFDocument reload( HWPFDocument hwpfDocument )
throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
hwpfDocument.write( baos );
return new HWPFDocument( new ByteArrayInputStream( baos.toByteArray() ) );
}
public class TestSprms extends TestCase {
/**
* Test correct processing of "sprmPJc" by uncompressor
* Test correct processing of "sprmPItap" (0x6649) and "sprmPFInTable"
* (0x2416)
*/
public void testSprmPJc() throws IOException {
public void testInnerTable() throws Exception
{
InputStream resourceAsStream = POIDataSamples.getDocumentInstance()
.openResourceAsStream("Bug49820.doc");
HWPFDocument hwpfDocument = new HWPFDocument(resourceAsStream);
assertEquals(1, hwpfDocument.getStyleSheet().getParagraphStyle(8)
.getJustification());
.openResourceAsStream( "innertable.doc" );
HWPFDocument hwpfDocument = new HWPFDocument( resourceAsStream );
resourceAsStream.close();
testInnerTable( hwpfDocument );
hwpfDocument = reload( hwpfDocument );
testInnerTable( hwpfDocument );
}
private void testInnerTable( HWPFDocument hwpfDocument )
{
Range range = hwpfDocument.getRange();
for ( int p = 0; p < range.numParagraphs(); p++ )
{
Paragraph paragraph = range.getParagraph( p );
char first = paragraph.text().toLowerCase().charAt( 0 );
if ( '1' <= first && first < '4' )
{
assertTrue( paragraph.isInTable() );
assertEquals( 2, paragraph.getTableLevel() );
}
if ( 'a' <= first && first < 'z' )
{
assertTrue( paragraph.isInTable() );
assertEquals( 1, paragraph.getTableLevel() );
}
}
}
/**
* Test correct processing of "sprmPJc" by compressor and uncompressor
* Test correct processing of "sprmPJc" by uncompressor
*/
public void testSprmPJcResave() throws IOException {
public void testSprmPJc() throws IOException
{
InputStream resourceAsStream = POIDataSamples.getDocumentInstance()
.openResourceAsStream("Bug49820.doc");
HWPFDocument hwpfDocument = new HWPFDocument(resourceAsStream);
.openResourceAsStream( "Bug49820.doc" );
HWPFDocument hwpfDocument = new HWPFDocument( resourceAsStream );
resourceAsStream.close();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
hwpfDocument.write(baos);
hwpfDocument = new HWPFDocument(
new ByteArrayInputStream(baos.toByteArray()));
assertEquals( 1, hwpfDocument.getStyleSheet().getParagraphStyle( 8 )
.getJustification() );
hwpfDocument = reload( hwpfDocument );
assertEquals( 1, hwpfDocument.getStyleSheet().getParagraphStyle( 8 )
.getJustification() );
assertEquals(1, hwpfDocument.getStyleSheet().getParagraphStyle(8)
.getJustification());
}
}

二进制
test-data/document/innertable.doc 查看文件


正在加载...
取消
保存