nick 2005/08/14 10:52:43
Modified: src/scratchpad/testcases/org/apache/poi/hslf/record
TestStyleTextPropAtom.java
Log:
Update tests to track updates in StyleTextPropAtom
Revision Changes Path
1.3 +57 -59
jakarta-poi/src/scratchpad/testcases/org/apache/poi/hslf/record/TestStyleTextPropAtom.java
Index: TestStyleTextPropAtom.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/scratchpad/testcases/org/apache/poi/hslf/record/TestStyleTextPropAtom.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TestStyleTextPropAtom.java 1 Aug 2005 17:37:15 -0000 1.2
+++ TestStyleTextPropAtom.java 14 Aug 2005 17:52:43 -0000 1.3
@@ -23,6 +23,7 @@
import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
+import java.util.LinkedList;
/**
* Tests that StyleTextPropAtom works properly
@@ -38,6 +39,7 @@
0x04, 00, 00, 00, 00, 0x05, 0x10, 00,
00, 00, 00, 00, 0x04, 00, 0xFF-256, 0x33, 00, 0xFE-256
};
+ private int data_a_text_len = 54;
private byte[] data_b = new byte[] { 0, 0, 0xA1-256, 0x0F, 0x2E, 0, 0,
0,
0x53, 0, 0, 0, 0, 0, 0, 0,
@@ -47,6 +49,7 @@
0, 05, 0x19, 0, 0, 0, 0, 0,
04, 0, 0xFF-256, 0x33, 0, 0xFE-256
};
+ private int data_b_text_len = 83;
public void testRecordType() throws Exception {
StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
@@ -55,78 +58,59 @@
assertEquals(4001l, stpb.getRecordType());
}
- public void testCharacterGroups() throws Exception {
+
+ public void testCharacterStyleCounts() throws Exception {
StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
StyleTextPropAtom stpb = new
StyleTextPropAtom(data_b,0,data_b.length);
- assertEquals(3, stpa.getCharacterStyles().length);
- assertEquals(3, stpb.getCharacterStyles().length);
+ // Set for the appropriate text sizes
+ stpa.setParentTextSize(data_a_text_len);
+ stpb.setParentTextSize(data_b_text_len);
+
+ // In both cases, we should only have 1 paragraph styling
+ assertEquals(1, stpa.getParagraphStyles().size());
+ assertEquals(1, stpb.getParagraphStyles().size());
}
- public void testCharacterLengths() throws Exception {
+ public void testParagraphStyleCounts() throws Exception {
StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
StyleTextPropAtom stpb = new
StyleTextPropAtom(data_b,0,data_b.length);
- // 54 chars, 21 + 17 (+ 16)
- assertEquals(54,
stpa.getParagraphStyleCharactersCoveredLength() );
- CharacterStyle[] csa = stpa.getCharacterStyles();
- assertEquals(21, csa[0].getCharactersCoveredLength() );
- assertEquals(17, csa[1].getCharactersCoveredLength() );
- assertEquals(0, csa[2].getCharactersCoveredLength() );
-
- // 83 chars, 30 + 28 (+ 25)
- assertEquals(83,
stpb.getParagraphStyleCharactersCoveredLength() );
- CharacterStyle[] csb = stpb.getCharacterStyles();
- assertEquals(30, csb[0].getCharactersCoveredLength() );
- assertEquals(28, csb[1].getCharactersCoveredLength() );
- assertEquals(0, csb[2].getCharactersCoveredLength() );
+ // Set for the appropriate text sizes
+ stpa.setParentTextSize(data_a_text_len);
+ stpb.setParentTextSize(data_b_text_len);
+
+ // In both cases, we should have three different character
stylings
+ assertEquals(3, stpa.getCharacterStyles().size());
+ assertEquals(3, stpb.getCharacterStyles().size());
}
- public void testCharacterProps() throws Exception {
+
+ public void testCharacterStyleLengths() throws Exception {
StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
StyleTextPropAtom stpb = new
StyleTextPropAtom(data_b,0,data_b.length);
- // Set A has no styles
- CharacterStyle[] csa = stpa.getCharacterStyles();
- for(int i=0; i<csa.length; i++) {
- assertEquals(false, csa[i].isBold() );
- assertEquals(false, csa[i].isItalic() );
- assertEquals(false, csa[i].isUnderlined() );
- }
-
- // Set B - 1st bold, 2nd italic
- CharacterStyle[] csb = stpb.getCharacterStyles();
- assertEquals(true, csb[0].isBold() );
- assertEquals(true, csb[1].isItalic() );
- }
-
- public void testChangeCharacterProps() throws Exception {
- // Change from A to B
- StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
- CharacterStyle[] csa = stpa.getCharacterStyles();
-
- // Update paragraph length
- stpa.setParagraphStyleCharactersCoveredLength(83);
-
- // Update each of the Character Styles
- // First is 30 long and bold
- csa[0].setCharactersCoveredLength(30);
- csa[0].setBold(true);
- // Second is 28 long and italic
- csa[1].setCharactersCoveredLength(28);
- csa[1].setItalic(true);
-
- // Ensure now matches data from B
- // Disabled, as it currently doesn't, as we don't know about
- // everything that needs updating, esp the S2 values
-// ByteArrayOutputStream baos = new ByteArrayOutputStream();
-// stpa.writeOut(baos);
-// byte[] b = baos.toByteArray();
-//
-// assertEquals(data_b.length, b.length);
-// for(int i=0; i<data_b.length; i++) {
-// assertEquals(data_b[i],b[i]);
-// }
+ // Set for the appropriate text sizes
+ stpa.setParentTextSize(data_a_text_len);
+ stpb.setParentTextSize(data_b_text_len);
+
+ // 54 chars, 21 + 17 + 16
+ LinkedList a_ch_l = stpa.getCharacterStyles();
+ TextPropCollection a_ch_1 = (TextPropCollection)a_ch_l.get(0);
+ TextPropCollection a_ch_2 = (TextPropCollection)a_ch_l.get(1);
+ TextPropCollection a_ch_3 = (TextPropCollection)a_ch_l.get(2);
+ assertEquals(21, a_ch_1.getCharactersCovered());
+ assertEquals(17, a_ch_2.getCharactersCovered());
+ assertEquals(16, a_ch_3.getCharactersCovered());
+
+ // 83 chars, 30 + 28 + 25
+ LinkedList b_ch_l = stpb.getCharacterStyles();
+ TextPropCollection b_ch_1 = (TextPropCollection)b_ch_l.get(0);
+ TextPropCollection b_ch_2 = (TextPropCollection)b_ch_l.get(1);
+ TextPropCollection b_ch_3 = (TextPropCollection)b_ch_l.get(2);
+ assertEquals(30, b_ch_1.getCharactersCovered());
+ assertEquals(28, b_ch_2.getCharactersCovered());
+ assertEquals(25, b_ch_3.getCharactersCovered());
}
public void testWrite() throws Exception {
@@ -140,4 +124,18 @@
assertEquals(data_a[i],b[i]);
}
}
+
+ public void testLoadWrite() throws Exception {
+ StyleTextPropAtom stpa = new
StyleTextPropAtom(data_a,0,data_a.length);
+ stpa.setParentTextSize(data_a_text_len);
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ stpa.writeOut(baos);
+ byte[] b = baos.toByteArray();
+
+ assertEquals(data_a.length, b.length);
+ for(int i=0; i<data_a.length; i++) {
+ assertEquals(data_a[i],b[i]);
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/