]> source.dussan.org Git - poi.git/commitdiff
fixed bug 45815: bit mask values inStyleTextPropAtom are not preserved across read...
authorYegor Kozlov <yegor@apache.org>
Thu, 18 Sep 2008 10:45:00 +0000 (10:45 +0000)
committerYegor Kozlov <yegor@apache.org>
Thu, 18 Sep 2008 10:45:00 +0000 (10:45 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@696623 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hslf/record/StyleTextPropAtom.java
src/scratchpad/testcases/org/apache/poi/hslf/record/TestStyleTextPropAtom.java

index 1207c68b3b72f4245a16e0c1869dcbd90aa35814..0eebbfc56f202b20cf1d62a91c5ade64a0a34ea8 100644 (file)
@@ -157,6 +157,12 @@ public class StyleTextPropAtom extends RecordAtom
                 new TextProp(0, 0x80, "kumi"),
                 new TextProp(0, 0x100, "unused3"),
                 new TextProp(0, 0x200, "emboss"),
+                new TextProp(0, 0x400, "nibble1"),
+                new TextProp(0, 0x800, "nibble2"),
+                new TextProp(0, 0x1000, "nibble3"),
+                new TextProp(0, 0x2000, "nibble4"),
+                new TextProp(0, 0x4000, "unused4"),
+                new TextProp(0, 0x8000, "unused5"),
                 new CharFlagsTextProp(),
                                new TextProp(2, 0x10000, "font.index"),
                 new TextProp(0, 0x100000, "pp10ext"),
index 17f9010eb2d4861b95e0cc1d9c341c9edc02a862..a31ddeb3ff81b4800689d2b2e1c19cdb280c7b2f 100644 (file)
@@ -738,4 +738,35 @@ public class TestStyleTextPropAtom extends TestCase {
         doReadWrite(data, length);
 
     }
+
+    /**
+     *  Bug 45815: bit mask values are not preserved on read-write
+     *
+     * From the test file attached to the bug:
+     *
+     * <StyleTextPropAtom info="0" type="4001" size="94" offset="114782" header="00 00 A1 0F 5E 00 00 00 ">
+     *   14 00 00 00 00 00 41 00 0A 00 06 00 50 00 07 00 01 00 00 00 00 00 00 00 02
+     *   00 00 00 01 04 00 00 01 04 01 00 00 00 01 08 00 00 01 08 0C 00 00 00 01 0C
+     *   00 00 01 0C 01 00 00 00 01 10 00 00 01 10 01 00 00 00 01 14 00 00 01 14 01
+     *   00 00 00 01 18 00 00 01 18 01 00 00 00 01 1C 00 00 01 1C
+     * </StyleTextPropAtom>
+     */
+    public void test45815() throws Exception {
+        int length = 19;
+        byte[] data = {
+                0x00, 0x00, (byte)0xA1, 0x0F, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00,
+                0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x0A, 0x00, 0x06, 0x00,
+                0x50, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+                0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00,
+                0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00,
+                0x01, 0x08, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x0C, 0x00, 0x00, 
+                0x01, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00,
+                0x01, 0x10, 0x01, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00,
+                0x01, 0x14, 0x01, 0x00, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00,
+                0x01, 0x18, 0x01, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00,
+                0x01, 0x1C
+        };
+        doReadWrite(data, length);
+    }
+
 }