You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by th...@apache.org on 2014/04/24 16:15:22 UTC

svn commit: r1589742 - in /tika/trunk/tika-parsers/src: main/java/org/apache/tika/parser/code/SourceCodeParser.java test/java/org/apache/tika/parser/code/ test/java/org/apache/tika/parser/code/SourceCodeParserTest.java

Author: thaichat04
Date: Thu Apr 24 14:15:21 2014
New Revision: 1589742

URL: http://svn.apache.org/r1589742
Log:
TIKA-1279 - Use System.getProperty() compatible with Java6 + tests

Added:
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java   (with props)
Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java?rev=1589742&r1=1589741&r2=1589742&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java Thu Apr 24 14:15:21 2014
@@ -91,7 +91,7 @@ public class SourceCodeParser implements
         String line;
         int nbLines =  0;
         while ((line = reader.readLine()) != null) {
-            out.append(line + System.lineSeparator());
+            out.append(line + System.getProperty("line.separator"));
             String author = parserAuthor(line);
             if (author != null) {
               metadata.add(TikaCoreProperties.CREATOR, author);

Added: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java?rev=1589742&view=auto
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java (added)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java Thu Apr 24 14:15:21 2014
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.tika.parser.code;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+
+import java.util.Set;
+
+import org.apache.tika.TikaTest;
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.TikaCoreProperties;
+import org.apache.tika.mime.MediaType;
+import org.apache.tika.parser.AutoDetectParser;
+import org.apache.tika.parser.ParseContext;
+import org.junit.Test;
+
+public class SourceCodeParserTest extends TikaTest {
+
+  private SourceCodeParser sourceCodeParser = new SourceCodeParser();
+
+  @Test
+  public void testSupportTypes() throws Exception {
+    Set<MediaType> supportedTypes = sourceCodeParser.getSupportedTypes(new ParseContext());
+    assertTrue(supportedTypes.contains(new MediaType("text", "x-java-source")));
+    assertTrue(supportedTypes.contains(new MediaType("text", "x-groovy")));
+    assertTrue(supportedTypes.contains(new MediaType("text", "x-c++src")));
+
+    assertFalse(sourceCodeParser.getSupportedTypes(new ParseContext()).contains(new MediaType("text", "html")));
+  }
+
+  @Test
+  public void testHTMLRender() throws Exception {
+    String htmlContent = getXML(getResourceAsStream("/test-documents/testJava.java"), sourceCodeParser, createMetadata("text/x-java-source")).xml;
+    assertTrue(htmlContent.indexOf("&gt;&lt;code&gt;&lt;span class=\"java_javadoc_comment\"&gt;") > 0);
+    assertTrue(htmlContent.indexOf("&lt;span class=\"java_type\"&gt;HelloWorld&lt;/span&gt;") > 0);
+    assertTrue(htmlContent.indexOf("&gt;&lt;span class=\"java_keyword\"&gt;public&lt;") > 0);
+  }
+
+  @Test
+  public void testHTMLRenderWithReturnLine() throws Exception {
+    String htmlContent = getXML(getResourceAsStream("/test-documents/testJava.java"), sourceCodeParser, createMetadata("text/x-java-source")).xml;
+    assertTrue(htmlContent.indexOf("&lt;span class=\"java_javadoc_comment\"&gt;&amp;nbsp;*&lt;/span&gt;&lt;br /&gt;") > 0);
+  }
+
+  @Test
+  public void testLoC() throws Exception {
+    Metadata metadata = createMetadata("text/x-groovy");
+    getText(getResourceAsStream("/test-documents/testGROOVY.groovy"), sourceCodeParser, metadata);
+
+    assertEquals(metadata.get("LoC"), "9");
+  }
+
+  @Test
+  public void testAuthor() throws Exception {
+    Metadata metadata = createMetadata("text/x-c++src");
+    getText(getResourceAsStream("/test-documents/testCPP.cpp"), sourceCodeParser, metadata);
+
+    assertEquals("Hong-Thai Nguyen", metadata.get(TikaCoreProperties.CREATOR));
+  }
+
+  @Test
+  public void testReturnContentAsIsForTextHandler() throws Exception {
+    String strContent = getXML(getResourceAsStream("/test-documents/testJava.java"), new AutoDetectParser(), createMetadata("text/plain")).xml;
+
+    assertTrue(strContent.indexOf("public class HelloWorld {") > 0);
+  }
+
+  private Metadata createMetadata(String mimeType) {
+    Metadata metadata = new Metadata();
+    metadata.add(Metadata.RESOURCE_NAME_KEY, "testFile");
+    metadata.add(Metadata.CONTENT_TYPE, mimeType);
+    return metadata;
+  }
+
+}

Propchange: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java
------------------------------------------------------------------------------
    svn:eol-style = native