2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 package org
.apache
.tika
.parser
.microsoft
;
19 import java
.io
.InputStream
;
21 import junit
.framework
.TestCase
;
23 import org
.apache
.tika
.metadata
.Metadata
;
24 import org
.apache
.tika
.sax
.BodyContentHandler
;
25 import org
.xml
.sax
.ContentHandler
;
27 public class ExcelParserTest
extends TestCase
{
29 public void testExcelParser() throws Exception
{
30 InputStream input
= ExcelParserTest
.class.getResourceAsStream(
31 "/test-documents/testEXCEL.xls");
33 Metadata metadata
= new Metadata();
34 ContentHandler handler
= new BodyContentHandler();
35 new OfficeParser().parse(input
, handler
, metadata
);
38 "application/vnd.ms-excel",
39 metadata
.get(Metadata
.CONTENT_TYPE
));
40 assertEquals("Simple Excel document", metadata
.get(Metadata
.TITLE
));
41 assertEquals("Keith Bennett", metadata
.get(Metadata
.AUTHOR
));
42 String content
= handler
.toString();
43 assertTrue(content
.contains("Sample Excel Worksheet"));
44 assertTrue(content
.contains("Numbers and their Squares"));
45 assertTrue(content
.contains("9"));
46 assertFalse(content
.contains("9.0"));
47 assertTrue(content
.contains("196"));
48 assertFalse(content
.contains("196.0"));