package org.mixer2.xhtml;

import static org.junit.Assert.assertEquals;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
import org.mixer2.Mixer2Engine;
import org.mixer2.jaxb.xhtml.Html;

public class MarshalAndUnmarshalTest {

    private String templateFileName = "sample-xhtml1-transitional.html";
    private String templateFilePath;
    private static Mixer2Engine m2e = new Mixer2Engine();

    @AfterClass
    public static void afterClass() {
        m2e = null;
    }

    @Before
    public void init() throws Exception {
        templateFilePath = getClass().getResource(templateFileName).toString();
        String osname = System.getProperty("os.name");
        if(osname.indexOf("Windows")>=0){
            templateFilePath = templateFilePath.replaceFirst("file:/", "");
        } else {
            templateFilePath = templateFilePath.replaceFirst("file:", "");
        }
    }

    @Test
    public void getSame() throws Exception{
        String original = FileUtils.readFileToString(new File(templateFilePath));
        Html html1 = m2e.loadHtmlTemplate(original);
        String str1 = m2e.saveToString(html1);
        Html html2 = m2e.loadHtmlTemplate(str1);
        String str2 = m2e.saveToString(html2);
        assertEquals(str1, str2);
    }
    
}

@@ -18,19 +18,17 @@
 2.xhtml;
-%0D%0A%0D
+%0A
 %0Aimport 
@@ -64,19 +64,17 @@
 tEquals;
-%0D%0A%0D
+%0A
 %0Aimport 
@@ -90,40 +90,9 @@
 ile;
-%0D%0Aimport java.io.IOException;%0D%0A%0D
+%0A
 %0Aimp
@@ -127,17 +127,16 @@
 leUtils;
-%0D
 %0Aimport 
@@ -156,17 +156,16 @@
 erClass;
-%0D
 %0Aimport 
@@ -181,17 +181,16 @@
 .Before;
-%0D
 %0Aimport 
@@ -204,17 +204,16 @@
 it.Test;
-%0D
 %0Aimport 
@@ -236,17 +236,16 @@
 2Engine;
-%0D
 %0Aimport 
@@ -271,19 +271,17 @@
 ml.Html;
-%0D%0A%0D
+%0A
 %0Apublic 
@@ -311,19 +311,17 @@
 alTest %7B
-%0D%0A%0D
+%0A
 %0A    pri
@@ -385,17 +385,16 @@
 l.html%22;
-%0D
 %0A    pri
@@ -422,17 +422,16 @@
 ilePath;
-%0D
 %0A    pri
@@ -480,19 +480,17 @@
 ngine();
-%0D%0A%0D
+%0A
 %0A    @Af
@@ -497,17 +497,16 @@
 terClass
-%0D
 %0A    pub
@@ -535,17 +535,16 @@
 lass() %7B
-%0D
 %0A       
@@ -555,26 +555,23 @@
  = null;
-%0D
 %0A    %7D
-%0D%0A%0D
+%0A
 %0A    @Be
@@ -574,17 +574,16 @@
  @Before
-%0D
 %0A    pub
@@ -616,17 +616,16 @@
 eption %7B
-%0D
 %0A       
@@ -696,17 +696,16 @@
 tring();
-%0D
 %0A       
@@ -751,17 +751,16 @@
 .name%22);
-%0D
 %0A       
@@ -793,17 +793,16 @@
 s%22)%3E=0)%7B
-%0D
 %0A       
@@ -865,25 +865,24 @@
 ile:/%22, %22%22);
-%0D
 %0A        %7D e
@@ -886,17 +886,16 @@
 %7D else %7B
-%0D
 %0A       
@@ -961,17 +961,16 @@
 :%22, %22%22);
-%0D
 %0A       
@@ -975,18 +975,15 @@
    %7D
-%0D
 %0A    %7D
-%0D%0A%0D
+%0A
 %0A   
@@ -988,17 +988,16 @@
    @Test
-%0D
 %0A    pub
@@ -1032,17 +1032,16 @@
 ception%7B
-%0D
 %0A       
@@ -1114,17 +1114,16 @@
 ePath));
-%0D
 %0A       
@@ -1167,17 +1167,16 @@
 iginal);
-%0D
 %0A       
@@ -1214,17 +1214,16 @@
 (html1);
-%0D
 %0A       
@@ -1263,17 +1263,16 @@
 e(str1);
-%0D
 %0A       
@@ -1310,17 +1310,16 @@
 (html2);
-%0D
 %0A       
@@ -1348,22 +1348,14 @@
 r2);
-%0D
 %0A    %7D
-%0D%0A    %0D
+%0A
 %0A%7D
-%0D
 %0A

fix test.