]> source.dussan.org Git - poi.git/commitdiff
Some further tests for rich text supporting code
authorNick Burch <nick@apache.org>
Mon, 7 Nov 2005 22:26:44 +0000 (22:26 +0000)
committerNick Burch <nick@apache.org>
Mon, 7 Nov 2005 22:26:44 +0000 (22:26 +0000)
(No tests as yet for rich text code, as that's still being worked on)

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353789 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java [new file with mode: 0644]

diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java
new file mode 100644 (file)
index 0000000..7421f83
--- /dev/null
@@ -0,0 +1,68 @@
+
+/* ====================================================================
+   Copyright 2002-2004   Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+        
+
+
+package org.apache.poi.hslf.usermodel;
+
+
+import junit.framework.TestCase;
+import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.*;
+import org.apache.poi.hslf.record.ParentAwareRecord;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordContainer;
+
+/**
+ * Tests that the record setup done by SlideShow 
+ *  has worked correctly
+ * Note: most recent record stuff has its own test
+ *
+ * @author Nick Burch (nick at torchbox dot com)
+ */
+public class TestRecordSetup extends TestCase {
+       // SlideShow primed on the test data
+       private SlideShow ss;
+       private HSLFSlideShow hss;
+
+    public TestRecordSetup() throws Exception {
+               String dirname = System.getProperty("HSLF.testdata.path");
+               String filename = dirname + "/basic_test_ppt_file.ppt";
+               hss = new HSLFSlideShow(filename);
+               ss = new SlideShow(hss);
+    }
+
+    public void testHandleParentAwareRecords() throws Exception {
+       Record[] records = hss.getRecords();
+       for(int i=0; i<records.length; i++) {
+               ensureParentAware(records[i],null);
+       }
+       }
+    private void ensureParentAware(Record r,RecordContainer parent) {
+       if(r instanceof ParentAwareRecord) {
+               ParentAwareRecord pr = (ParentAwareRecord)r;
+               assertEquals(parent, pr.getParentRecord());
+       }
+       if(r instanceof RecordContainer) {
+               RecordContainer rc = (RecordContainer)r;
+               Record[] children = rc.getChildRecords();
+               for(int i=0; i<children.length; i++) {
+                       ensureParentAware(children[i], rc);
+               }
+       }
+    }
+}