From a36d020021bb41eade6d653005ef42f60a0a609a Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Sun, 26 Feb 2006 20:52:54 +0000 Subject: [PATCH] Finish Comment2000Atom support git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@381168 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hslf/record/TestComment2000.java | 24 +++++++++++++-- .../poi/hslf/record/TestComment2000Atom.java | 30 +++++++++++++++++-- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000.java index 401f3db257..37726af7e0 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000.java @@ -22,6 +22,8 @@ package org.apache.poi.hslf.record; import junit.framework.TestCase; import java.io.ByteArrayOutputStream; +import java.text.SimpleDateFormat; +import java.util.Date; /** * Tests that Comment2000 works properly. @@ -82,6 +84,8 @@ public class TestComment2000 extends TestCase { 0x0A, 00, 00, 00 }; + private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + public void testRecordType() throws Exception { Comment2000 ca = new Comment2000(data_a, 0, data_a.length); assertEquals(12000l, ca.getRecordType()); @@ -95,6 +99,16 @@ public class TestComment2000 extends TestCase { Comment2000 ca = new Comment2000(data_a, 0, data_a.length); assertEquals("Yes, they certainly are, aren't they!", ca.getText()); } + public void testCommentAtom() throws Exception { + Comment2000 ca = new Comment2000(data_a, 0, data_a.length); + Comment2000Atom c2a = ca.getComment2000Atom(); + + assertEquals(1, c2a.getNumber()); + assertEquals(0x92, c2a.getXOffset()); + assertEquals(0x92, c2a.getYOffset()); + Date exp_a = sdf.parse("2006-01-24 22:26:15.205"); + assertEquals(exp_a, c2a.getDate()); + } public void testWrite() throws Exception { Comment2000 ca = new Comment2000(data_a, 0, data_a.length); @@ -116,8 +130,14 @@ public class TestComment2000 extends TestCase { ca.setAuthorInitials("H"); ca.setText("Comments are fun things to add in, aren't they?"); - // TODO: Make me a proper copy of the Comment2000Atom - ca._children[3] = cb._children[3]; + // Change the Comment2000Atom + Comment2000Atom c2a = ca.getComment2000Atom(); + c2a.setNumber(1); + c2a.setXOffset(0x0a); + c2a.setYOffset(0x0a); + + Date new_date = sdf.parse("2006-01-24 22:25:03.725"); + c2a.setDate(new_date); // Check now the same assertEquals(ca.getText(), cb.getText()); diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000Atom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000Atom.java index cc91249fba..4340f30f9d 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000Atom.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestComment2000Atom.java @@ -51,7 +51,7 @@ public class TestComment2000Atom extends TestCase { public void testRecordType() throws Exception { Comment2000Atom ca = new Comment2000Atom(data_a, 0, data_a.length); - assertEquals(12002l, ca.getRecordType()); + assertEquals(12001l, ca.getRecordType()); } public void testGetDate() throws Exception { @@ -89,7 +89,7 @@ public class TestComment2000Atom extends TestCase { assertEquals(0x0A, cb.getXOffset()); assertEquals(0x0E, cb.getYOffset()); } - + public void testWrite() throws Exception { Comment2000Atom ca = new Comment2000Atom(data_a, 0, data_a.length); ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -101,7 +101,31 @@ public class TestComment2000Atom extends TestCase { assertEquals(data_a[i],b[i]); } } - + + // Create A from scratch + public void testCreate() throws Exception { + Comment2000Atom a = new Comment2000Atom(); + + // Set number, x and y + a.setNumber(1); + a.setXOffset(0x92); + a.setYOffset(0x92); + + // Set the date + Date date_a = sdf.parse("2006-01-24 22:26:15.205"); + a.setDate(date_a); + + // Check it's now the same as a + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + a.writeOut(baos); + byte[] b = baos.toByteArray(); + + assertEquals(data_a.length, b.length); + for(int i=0; i