testParsingWithoutUTF8Encoding calls ADLParser with only one
argument which calls the constructor
public SimpleCharStream(java.io.InputStream dstream,
String
encoding, int startline,
with parameter encoding == null. In this case
InputStreamReader
with just one argument is used. In other words, inputStream instance
variable of SimpleCharStream uses default encoding for reading. In Macs
default encoding is Mac Roman (Java). Instead of using default encoding
maybe ADLParser should use UTF-8 (I am not sure if it is right). When
ADLParser uses UTF-8 on Mac everything works fine
(testParsingWithUTF8Encoding passes).
-----------------------------------------------------------------------------------------------------
Running se.acode.openehr.parser.UnicodeBOMSupportTest
se.acode.openehr.parser.TokenMgrError: Lexical error at line
1,
column 1. Encountered: "\u00d4" (212), after : ""
at
se.acode.openehr.parser.ADLParserTokenManager.getNextToken(ADLParserTokenManager.java:31649)
at
se.acode.openehr.parser.ADLParser.jj_consume_token(ADLParser.java:7075)
at
se.acode.openehr.parser.ADLParser.archetype(ADLParser.java:214)
at
se.acode.openehr.parser.ADLParser.parse(ADLParser.java:101)
at
se.acode.openehr.parser.UnicodeBOMSupportTest.testParsingWithoutUTF8Encoding(UnicodeBOMSupportTest.java:48)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
junit.framework.TestCase.runTest(TestCase.java:154)
at
junit.framework.TestCase.runBare(TestCase.java:127)
at
junit.framework.TestResult$1.protect(TestResult.java:106)
at
junit.framework.TestResult.runProtected(TestResult.java:124)
at
junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at
org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Thanks in advance.
Fábio