/* <copyright>
 *
 * IBM Confidential
 * OCO Source Materials
 *
 * 5724-R21
 * Copyright IBM Corp. 2010, 2010.   All Rights Reserved.
 *
 * The source code for this program is not published or otherwise divested of its trade secrets,
 * irrespective of what has been deposited with the U.S. Copyright Office.
 *
 * </copyright> */
package tika.test.languages;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.rtf.RTFParser;
import org.apache.tika.sax.BodyContentHandler;
import org.junit.Assert;
import org.junit.Test;
import org.junit.internal.runners.statements.Fail;
import org.xml.sax.ContentHandler;



public class JapaneseTest
{

	private static String DATA_LOCATION = "C:\\develop\\tika\\Jp_euc-jp_rtf1.rtf"; 
	
	
	

	@Test 
	public void testJp_eucAutoParser() {
		
		
		Parser      parser  =   new AutoDetectParser();
		InputStream in      = null;
		try {
			 in = new FileInputStream(DATA_LOCATION);
        }catch (Exception e) {
         	String message1 = e.getLocalizedMessage();
			assertNotNull(message1);
			Assert.fail("Test data reading failed. "+message1);
		}
		
		ContentHandler handler = new BodyContentHandler(-1);
        Metadata metadata = new Metadata();
        ParseContext context = new ParseContext();
        
      
        try {
            parser.parse(in, handler, metadata,context);
        }catch (Exception e) {
        	String message1 = e.getLocalizedMessage();
			assertNotNull(message1);
			Assert.fail("Auto parsing failed. "+message1);
		} finally {
        	try
			{
				in.close();
			}
			catch (IOException e)
			{
				String message1 = e.getLocalizedMessage();
				assertNotNull(message1);
				Assert.fail("Close InputStream failed. "+ message1);
			}
        }
		
		assertEquals(handler.toString().indexOf("ゾルゲと尾崎、淡々と最期")!=-1,true);
		
	}
	@Test 
	public void testJp_eucRtfParser() {
		
		
		Parser      parser  = new RTFParser();
		InputStream in      = null;
		
		try {
			  in = new FileInputStream(DATA_LOCATION);
        }catch (Exception e) {
        	String message1 = e.getLocalizedMessage();
			assertNotNull(message1);
			Assert.fail("Test data reading failed. "+ message1);
		}
	
		ContentHandler handler = new BodyContentHandler(-1);
        Metadata metadata = new Metadata();
        ParseContext context = new ParseContext();
        
      
        try {
            parser.parse(in, handler, metadata,context);
        }catch (Exception e) {
        	String message1 = e.getLocalizedMessage();
			assertNotNull(message1);
			Assert.fail("Auto parsing failed. "+ message1);
		} finally {
        	try
			{
				in.close();
			}
			catch (IOException e)
			{
				String message1 = e.getLocalizedMessage();
				assertNotNull(message1);
				Assert.fail("Close InputStream failed. "+ message1);
			}
        }
		
		assertEquals(handler.toString().indexOf("ゾルゲと尾崎、淡々と最期")!=-1,true);
		
	}
	
}
