Author: nick
Date: Sat Mar 18 10:56:38 2006
New Revision: 386873

URL: http://svn.apache.org/viewcvs?rev=386873&view=rev
Log:
Tests for getting and changing the font of a rich text run

Added:
    
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/Single_Coloured_Page_With_Fonts_and_Alignments.ppt
   (with props)
Modified:
    
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestFontCollection.java
    
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRichTextRun.java

Added: 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/Single_Coloured_Page_With_Fonts_and_Alignments.ppt
URL: 
http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/Single_Coloured_Page_With_Fonts_and_Alignments.ppt?rev=386873&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/data/Single_Coloured_Page_With_Fonts_and_Alignments.ppt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestFontCollection.java
URL: 
http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestFontCollection.java?rev=386873&r1=386872&r2=386873&view=diff
==============================================================================
--- 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestFontCollection.java
 (original)
+++ 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestFontCollection.java
 Sat Mar 18 10:56:38 2006
@@ -60,9 +60,15 @@
         idx = fonts.addFont("Arial"); //the font being added twice
         assertEquals(idx, 2);
 
-        //font collection should contain 3 fonts
+        // Font collection should contain 3 fonts
         Record[] child = fonts.getChildRecords();
         assertEquals(child.length, 3);
+        
+        // Check we get the right font name for the indicies
+        assertEquals("Times New Roman", fonts.getFontWithId(0));
+        assertEquals("Helvetica", fonts.getFontWithId(1));
+        assertEquals("Arial", fonts.getFontWithId(2));
+        assertNull(fonts.getFontWithId(3));
     }
 
     public void testWrite() throws Exception {

Modified: 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRichTextRun.java
URL: 
http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRichTextRun.java?rev=386873&r1=386872&r2=386873&view=diff
==============================================================================
--- 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRichTextRun.java
 (original)
+++ 
jakarta/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRichTextRun.java
 Sat Mar 18 10:56:38 2006
@@ -15,9 +15,11 @@
 public class TestRichTextRun extends TestCase {
        // SlideShow primed on the test data
        private SlideShow ss;
-       private SlideShow ssRich;
+       private SlideShow ssRichA;
+       private SlideShow ssRichB;
        private HSLFSlideShow hss;
-       private HSLFSlideShow hssRich;
+       private HSLFSlideShow hssRichA;
+       private HSLFSlideShow hssRichB;
        
     protected void setUp() throws Exception {
                String dirname = System.getProperty("HSLF.testdata.path");
@@ -27,10 +29,15 @@
                hss = new HSLFSlideShow(filename);
                ss = new SlideShow(hss);
                
-               // Rich test file
+               // Rich test file A
                filename = dirname + "/Single_Coloured_Page.ppt";
-               hssRich = new HSLFSlideShow(filename);
-               ssRich = new SlideShow(hssRich);
+               hssRichA = new HSLFSlideShow(filename);
+               ssRichA = new SlideShow(hssRichA);
+               
+               // Rich test file B
+               filename = dirname + 
"/Single_Coloured_Page_With_Fonts_and_Alignments.ppt";
+               hssRichB = new HSLFSlideShow(filename);
+               ssRichB = new SlideShow(hssRichB);
        }
 
        /**
@@ -64,7 +71,7 @@
         *  on a rich text run
         */
        public void testBoldRich() throws Exception {
-               Slide slideOneR = ssRich.getSlides()[0];
+               Slide slideOneR = ssRichA.getSlides()[0];
                TextRun[] textRunsR = slideOneR.getTextRuns();
                RichTextRun[] rtrs = textRunsR[1].getRichTextRuns();
                assertEquals(3, rtrs.length);
@@ -84,5 +91,65 @@
                
                assertFalse(rtrs[0].isBold());
                assertFalse(rtrs[1].isBold());
+       }
+       
+       /**
+        * Tests getting and setting the font size on rich and non
+        *  rich text runs
+        */
+       public void testFontSize() throws Exception {
+               Slide slideOne = ss.getSlides()[0];
+               TextRun[] textRuns = slideOne.getTextRuns();
+               RichTextRun rtr = textRuns[0].getRichTextRuns()[0];
+               
+               Slide slideOneR = ssRichB.getSlides()[0];
+               TextRun[] textRunsR = slideOneR.getTextRuns();
+               RichTextRun rtrRa = textRunsR[0].getRichTextRuns()[0];
+               RichTextRun rtrRb = textRunsR[1].getRichTextRuns()[0];
+               RichTextRun rtrRc = textRunsR[1].getRichTextRuns()[3];
+
+               // Start off with rich one
+               // First run has defaults
+               assertEquals(-1, rtrRa.getFontSize());
+               assertEquals(null, rtrRa.getFontName());
+               // Second is size 20, default font
+               assertEquals(20, rtrRb.getFontSize());
+               assertEquals(null, rtrRb.getFontName());
+               // Third is size 24, alt font
+               assertEquals(24, rtrRc.getFontSize());
+               assertEquals("Times New Roman", rtrRc.getFontName());
+               
+               // Change 2nd to different size and font
+               assertEquals(2, 
ssRichB.getFontCollection().getChildRecords().length); // Default + TNR
+               rtrRb.setFontSize(18);
+               rtrRb.setFontName("Courier");
+               assertEquals(3, 
ssRichB.getFontCollection().getChildRecords().length); // Default + TNR + 
Courier
+               assertEquals(18, rtrRb.getFontSize());
+               assertEquals("Courier", rtrRb.getFontName());
+               
+               
+               // Now do non rich one
+               assertEquals(-1, rtr.getFontSize());
+               assertEquals(null, rtr.getFontName());
+               assertEquals(1, 
ss.getFontCollection().getChildRecords().length); // Default
+               assertNull(rtr._getRawCharacterStyle());
+               assertNull(rtr._getRawParagraphStyle());
+               
+               // Change Font size
+               rtr.setFontSize(99);
+               assertEquals(99, rtr.getFontSize());
+               assertEquals(null, rtr.getFontName());
+               assertNotNull(rtr._getRawCharacterStyle());
+               assertNotNull(rtr._getRawParagraphStyle());
+               assertEquals(1, 
ss.getFontCollection().getChildRecords().length); // Default
+               
+               // Change Font size and name
+               rtr.setFontSize(25);
+               rtr.setFontName("Times New Roman");
+               assertEquals(25, rtr.getFontSize());
+               assertEquals("Times New Roman", rtr.getFontName());
+               assertNotNull(rtr._getRawCharacterStyle());
+               assertNotNull(rtr._getRawParagraphStyle());
+               assertEquals(2, 
ss.getFontCollection().getChildRecords().length);
        }
 }



---------------------------------------------------------------------
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/

Reply via email to