📄 testemptyproperties.java
字号:
package org.apache.poi.hpsf.basic;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import junit.framework.Assert;import junit.framework.TestCase;import org.apache.poi.hpsf.HPSFException;import org.apache.poi.hpsf.MarkUnsupportedException;import org.apache.poi.hpsf.NoPropertySetStreamException;import org.apache.poi.hpsf.PropertySet;import org.apache.poi.hpsf.PropertySetFactory;import org.apache.poi.hpsf.SummaryInformation;import org.apache.poi.hpsf.UnexpectedPropertySetTypeException;/** * <p>Test case for OLE2 files with empty properties. An empty property's type * is {@link Variant.VT_EMPTY}.</p> * * @author Rainer Klute <a * href="mailto:klute@rainer-klute.de"><klute@rainer-klute.de></a> * @since 2003-07-25 * @version $Id: TestEmptyProperties.java,v 1.1.2.3 2003/07/28 16:45:39 klute Exp $ */public class TestEmptyProperties extends TestCase{ /** * <p>This test file's summary information stream contains some empty * properties.</p> */ static final String POI_FS = "TestCorel.shw"; static final String[] POI_FILES = new String[] { "PerfectOffice_MAIN", "\005SummaryInformation", "Main" }; POIFile[] poiFiles; /** * <p>Constructor</p> * * @param name The name of the test case */ public TestEmptyProperties(final String name) { super(name); } /** * <p>Read a the test file from the "data" directory.</p> * * @exception FileNotFoundException if the file containing the test data * does not exist * @exception IOException if an I/O exception occurs */ public void setUp() throws FileNotFoundException, IOException { final File dataDir = new File(System.getProperty("HPSF.testdata.path")); final File data = new File(dataDir, POI_FS); poiFiles = Util.readPOIFiles(data); } /** * <p>Checks the names of the files in the POI filesystem. They * are expected to be in a certain order.</p> * * @exception IOException if an I/O exception occurs */ public void testReadFiles() throws IOException { String[] expected = POI_FILES; for (int i = 0; i < expected.length; i++) Assert.assertEquals(poiFiles[i].getName(), expected[i]); } /** * <p>Tests whether property sets can be created from the POI * files in the POI file system. This test case expects the first * file to be a {@link SummaryInformation}, the second file to be * a {@link DocumentSummaryInformation} and the rest to be no * property sets. In the latter cases a {@link * NoPropertySetStreamException} will be thrown when trying to * create a {@link PropertySet}.</p> * * @exception IOException if an I/O exception occurs */ public void testCreatePropertySets() throws IOException { Class[] expected = new Class[] { NoPropertySetStreamException.class, SummaryInformation.class, NoPropertySetStreamException.class }; for (int i = 0; i < expected.length; i++) { InputStream in = new ByteArrayInputStream(poiFiles[i].getBytes()); Object o; try { o = PropertySetFactory.create(in); } catch (NoPropertySetStreamException ex) { o = ex; } catch (UnexpectedPropertySetTypeException ex) { o = ex; } catch (MarkUnsupportedException ex) { o = ex; } in.close(); Assert.assertEquals(o.getClass(), expected[i]); } } /** * <p>Tests the {@link PropertySet} methods. The test file has two * property sets: the first one is a {@link SummaryInformation}, * the second one is a {@link DocumentSummaryInformation}.</p> * * @exception IOException if an I/O exception occurs * @exception HPSFException if an HPSF operation fails */ public void testPropertySetMethods() throws IOException, HPSFException { byte[] b = poiFiles[1].getBytes(); PropertySet ps = PropertySetFactory.create(new ByteArrayInputStream(b)); SummaryInformation s = (SummaryInformation) ps; assertNull(s.getTitle()); assertNull(s.getSubject()); assertNotNull(s.getAuthor()); assertNull(s.getKeywords()); assertNull(s.getComments()); assertNotNull(s.getTemplate()); assertNotNull(s.getLastAuthor()); assertNotNull(s.getRevNumber()); assertNull(s.getEditTime()); assertNull(s.getLastPrinted()); assertNull(s.getCreateDateTime()); assertNull(s.getLastSaveDateTime()); assertEquals(s.getPageCount(), 0); assertEquals(s.getWordCount(), 0); assertEquals(s.getCharCount(), 0); assertNull(s.getThumbnail()); assertNull(s.getApplicationName()); } /** * <p>Runs the test cases stand-alone.</p> * * @param args the command-line arguments (unused) * * @exception Throwable if any exception or error occurs */ public static void main(final String[] args) throws Throwable { System.setProperty("HPSF.testdata.path", "./src/testcases/org/apache/poi/hpsf/data"); junit.textui.TestRunner.run(TestBasic.class); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -