[ 
https://issues.apache.org/jira/browse/MIME4J-179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved MIME4J-179.
--------------------------------------

    Resolution: Invalid

Sorry, Richard, the test case passes for me using org.junit.runner.JUnitCore 
runner
---
JUnit version 4.5
.
Time: 0.188

OK (1 test)
---
Look for problems with your local setup.

Oleg

> Error Stemming From CharsetUtil class
> -------------------------------------
>
>                 Key: MIME4J-179
>                 URL: https://issues.apache.org/jira/browse/MIME4J-179
>             Project: JAMES Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.6
>         Environment: Windows XP, Java jdk1.5.0_15, Junit 4.6
>            Reporter: Richard Cole
>         Attachments: RealWorldJamesTest.java
>
>
> Hello.
> I am experiencing a issue when running a test the instantiates a 
> MultipartEntity class (org.apache.http.entity.mime).  When the test is run 
> from within my IDE (idea 8.1.4) there is no issue.  However when the test is 
> run as part of an automated build from the command line the test fails.  I 
> have tracked the issue down to the following class 
> org.apache.james.mime4j.util.CharsetUtil.  When run from the command line I 
> get this error from the test:
> junit.framework.AssertionFailedError
>     at sun.nio.cs.Surrogate$Parser.parse(Surrogate.java:205)
>     at sun.nio.cs.ext.IBM949$Encoder.encodeArrayLoop(IBM949.java:1554)
>     at sun.nio.cs.ext.IBM949$Encoder.encodeLoop(IBM949.java:5239)
>     at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
>     at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
>     at java.lang.StringCoding.encode(StringCoding.java:378)
>     at java.lang.String.getBytes(String.java:812)
>     at 
> com.hsbc.cibm.valservice.workflowserver.server.jobs.JobsSourceTest.foo(JobsSourceTest.java:40
>     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:585)
>     at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>     at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>     at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>     at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>     at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>     at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>     at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>     at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)
>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
>     at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
>     at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>     at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>     at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
>     at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
>     at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:422)
>     at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:931)
>     at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:758)
> The interesting point is the from the command line I end up in:
> at sun.nio.cs.Surrogate$Parser.parse(Surrogate.java:205)
>     at sun.nio.cs.ext.IBM949$Encoder.encodeArrayLoop(IBM949.java:1554)
>     at sun.nio.cs.ext.IBM949$Encoder.encodeLoop(IBM949.java:5239)
> Where as from idea I end up in sun.nio.cs.ext.MS1252$Encoder
> My example test is:
> @Test
>     public void example_of_error() {
>         for (Charset c : JAVA_CHARSETS) {
>             try {
>                 "dummy".getBytes(c.canonical);
>             } catch (UnsupportedOperationException e) {           
>             } catch (UnsupportedEncodingException e) {
>             }
>         }
>     }
>     private static Charset[] JAVA_CHARSETS = {
>             new Charset("ISO8859_1", "ISO-8859-1",
>                     new String[]{"ISO_8859-1:1987", "iso-ir-100", 
> "ISO_8859-1",
>                             "latin1", "l1", "IBM819", "CP819",
>                             "csISOLatin1", "8859_1", "819", "IBM-819",
>                             "ISO8859-1", "ISO_8859_1"}),
>             new Charset("ISO8859_2", "ISO-8859-2",
>                     new String[]{"ISO_8859-2:1987", "iso-ir-101", 
> "ISO_8859-2",
>                             "latin2", "l2", "csISOLatin2", "8859_2",
>                             "iso8859_2"}),
>             new Charset("ISO8859_3", "ISO-8859-3", new 
> String[]{"ISO_8859-3:1988", "iso-ir-109", "ISO_8859-3", "latin3", "l3", 
> "csISOLatin3", "8859_3"}),
>             new Charset("ISO8859_4", "ISO-8859-4",
>                     new String[]{"ISO_8859-4:1988", "iso-ir-110", 
> "ISO_8859-4",
>                             "latin4", "l4", "csISOLatin4", "8859_4"}),
>             new Charset("ISO8859_5", "ISO-8859-5",
>                     new String[]{"ISO_8859-5:1988", "iso-ir-144", 
> "ISO_8859-5",
>                             "cyrillic", "csISOLatinCyrillic", "8859_5"}),
>             new Charset("ISO8859_6", "ISO-8859-6", new 
> String[]{"ISO_8859-6:1987", "iso-ir-127", "ISO_8859-6", "ECMA-114", 
> "ASMO-708", "arabic", "csISOLatinArabic", "8859_6"}),
>             new Charset("ISO8859_7", "ISO-8859-7",
>                     new String[]{"ISO_8859-7:1987", "iso-ir-126", 
> "ISO_8859-7",
>                             "ELOT_928", "ECMA-118", "greek", "greek8",
>                             "csISOLatinGreek", "8859_7", "sun_eu_greek"}),
>             new Charset("ISO8859_8", "ISO-8859-8", new 
> String[]{"ISO_8859-8:1988", "iso-ir-138", "ISO_8859-8", "hebrew", 
> "csISOLatinHebrew", "8859_8"}),
>             new Charset("ISO8859_9", "ISO-8859-9",
>                     new String[]{"ISO_8859-9:1989", "iso-ir-148", 
> "ISO_8859-9",
>                             "latin5", "l5", "csISOLatin5", "8859_9"}),
>             new Charset("ISO8859_13", "ISO-8859-13", new String[]{}),
>             new Charset("ISO8859_15", "ISO-8859-15",
>                     new String[]{"ISO_8859-15", "Latin-9", "8859_15",
>                             "csISOlatin9", "IBM923", "cp923", "923", "L9",
>                             "IBM-923", "ISO8859-15", "LATIN9", "LATIN0",
>                             "csISOlatin0", "ISO8859_15_FDIS"}),
>             new Charset("KOI8_R", "KOI8-R", new String[]{"csKOI8R", "koi8"}),
>             new Charset("ASCII", "US-ASCII",
>                     new String[]{"ANSI_X3.4-1968", "iso-ir-6",
>                             "ANSI_X3.4-1986", "ISO_646.irv:1991",
>                             "ISO646-US", "us", "IBM367", "cp367",
>                             "csASCII", "ascii7", "646", "iso_646.irv:1983"}),
>             new Charset("UTF8", "UTF-8", new String[]{}),
>             new Charset("UTF-16", "UTF-16", new String[]{"UTF_16"}),
>             new Charset("UnicodeBigUnmarked", "UTF-16BE", new 
> String[]{"X-UTF-16BE", "UTF_16BE", "ISO-10646-UCS-2"}),
>             new Charset("UnicodeLittleUnmarked", "UTF-16LE", new 
> String[]{"UTF_16LE", "X-UTF-16LE"}),
>             new Charset("Big5", "Big5", new String[]{"csBig5", "CN-Big5", 
> "BIG-FIVE", "BIGFIVE"}),
>             new Charset("Big5_HKSCS", "Big5-HKSCS", new 
> String[]{"big5hkscs"}),
>             new Charset("EUC_JP", "EUC-JP",
>                     new String[]{"csEUCPkdFmtJapanese",
>                             "Extended_UNIX_Code_Packed_Format_for_Japanese",
>                             "eucjis", "x-eucjp", "eucjp", "x-euc-jp"}),
>             new Charset("EUC_KR", "EUC-KR",
>                     new String[]{"csEUCKR", "ksc5601", "5601", "ksc5601_1987",
>                             "ksc_5601", "ksc5601-1987", "ks_c_5601-1987",
>                             "euckr"}),
>             new Charset("GB18030", "GB18030", new String[]{"gb18030-2000"}),
>             new Charset("EUC_CN", "GB2312", new String[]{"x-EUC-CN", 
> "csGB2312", "euccn", "euc-cn", "gb2312-80", "gb2312-1980", "CN-GB", 
> "CN-GB-ISOIR165"}),
>             new Charset("GBK", "windows-936", new String[]{"CP936", "MS936", 
> "ms_936", "x-mswin-936"}),
>             new Charset("Cp037", "IBM037", new String[]{"ebcdic-cp-us", 
> "ebcdic-cp-ca", "ebcdic-cp-wt", "ebcdic-cp-nl", "csIBM037"}),
>             new Charset("Cp273", "IBM273", new String[]{"csIBM273"}),
>             new Charset("Cp277", "IBM277", new String[]{"EBCDIC-CP-DK", 
> "EBCDIC-CP-NO", "csIBM277"}),
>             new Charset("Cp278", "IBM278", new String[]{"CP278", 
> "ebcdic-cp-fi", "ebcdic-cp-se", "csIBM278"}),
>             new Charset("Cp280", "IBM280", new String[]{"ebcdic-cp-it", 
> "csIBM280"}),
>             new Charset("Cp284", "IBM284", new String[]{"ebcdic-cp-es", 
> "csIBM284"}),
>             new Charset("Cp285", "IBM285", new String[]{"ebcdic-cp-gb", 
> "csIBM285"}),
>             new Charset("Cp297", "IBM297", new String[]{"ebcdic-cp-fr", 
> "csIBM297"}),
>             new Charset("Cp420", "IBM420", new String[]{"ebcdic-cp-ar1", 
> "csIBM420"}),
>             new Charset("Cp424", "IBM424", new String[]{"ebcdic-cp-he", 
> "csIBM424"}),
>             new Charset("Cp437", "IBM437", new String[]{"437", 
> "csPC8CodePage437"}),
>             new Charset("Cp500", "IBM500", new String[]{"ebcdic-cp-be", 
> "ebcdic-cp-ch", "csIBM500"}),
>             new Charset("Cp775", "IBM775", new String[]{"csPC775Baltic"}),
>             new Charset("Cp838", "IBM-Thai", new String[]{}),
>             new Charset("Cp850", "IBM850", new String[]{"850", 
> "csPC850Multilingual"}),
>             new Charset("Cp852", "IBM852", new String[]{"852", "csPCp852"}),
>             new Charset("Cp855", "IBM855", new String[]{"855", "csIBM855"}),
>             new Charset("Cp857", "IBM857", new String[]{"857", "csIBM857"}),
>             new Charset("Cp858", "IBM00858",
>                     new String[]{"CCSID00858", "CP00858",
>                             "PC-Multilingual-850+euro"}),
>             new Charset("Cp860", "IBM860", new String[]{"860", "csIBM860"}),
>             new Charset("Cp861", "IBM861", new String[]{"861", "cp-is", 
> "csIBM861"}),
>             new Charset("Cp862", "IBM862", new String[]{"862", 
> "csPC862LatinHebrew"}),
>             new Charset("Cp863", "IBM863", new String[]{"863", "csIBM863"}),
>             new Charset("Cp864", "IBM864", new String[]{"cp864", "csIBM864"}),
>             new Charset("Cp865", "IBM865", new String[]{"865", "csIBM865"}),
>             new Charset("Cp866", "IBM866", new String[]{"866", "csIBM866"}),
>             new Charset("Cp868", "IBM868", new String[]{"cp-ar", "csIBM868"}),
>             new Charset("Cp869", "IBM869", new String[]{"cp-gr", "csIBM869"}),
>             new Charset("Cp870", "IBM870", new String[]{"ebcdic-cp-roece", 
> "ebcdic-cp-yu", "csIBM870"}),
>             new Charset("Cp871", "IBM871", new String[]{"ebcdic-cp-is", 
> "csIBM871"}),
>             new Charset("Cp918", "IBM918", new String[]{"ebcdic-cp-ar2", 
> "csIBM918"}),
>             new Charset("Cp1026", "IBM1026", new String[]{"csIBM1026"}),
>             new Charset("Cp1047", "IBM1047", new String[]{"IBM-1047"}),
>             new Charset("Cp1140", "IBM01140",
>                     new String[]{"CCSID01140", "CP01140",
>                             "ebcdic-us-37+euro"}),
>             new Charset("Cp1141", "IBM01141",
>                     new String[]{"CCSID01141", "CP01141",
>                             "ebcdic-de-273+euro"}),
>             new Charset("Cp1142", "IBM01142", new String[]{"CCSID01142", 
> "CP01142", "ebcdic-dk-277+euro", "ebcdic-no-277+euro"}),
>             new Charset("Cp1143", "IBM01143", new String[]{"CCSID01143", 
> "CP01143", "ebcdic-fi-278+euro", "ebcdic-se-278+euro"}),
>             new Charset("Cp1144", "IBM01144", new String[]{"CCSID01144", 
> "CP01144", "ebcdic-it-280+euro"}),
>             new Charset("Cp1145", "IBM01145", new String[]{"CCSID01145", 
> "CP01145", "ebcdic-es-284+euro"}),
>             new Charset("Cp1146", "IBM01146", new String[]{"CCSID01146", 
> "CP01146", "ebcdic-gb-285+euro"}),
>             new Charset("Cp1147", "IBM01147", new String[]{"CCSID01147", 
> "CP01147", "ebcdic-fr-297+euro"}),
>             new Charset("Cp1148", "IBM01148", new String[]{"CCSID01148", 
> "CP01148", "ebcdic-international-500+euro"}),
>             new Charset("Cp1149", "IBM01149", new String[]{"CCSID01149", 
> "CP01149", "ebcdic-is-871+euro"}),
>             new Charset("Cp1250", "windows-1250", new String[]{}),
>             new Charset("Cp1251", "windows-1251", new String[]{}),
>             new Charset("Cp1252", "windows-1252", new String[]{}),
>             new Charset("Cp1253", "windows-1253", new String[]{}),
>             new Charset("Cp1254", "windows-1254", new String[]{}),
>             new Charset("Cp1255", "windows-1255", new String[]{}),
>             new Charset("Cp1256", "windows-1256", new String[]{}),
>             new Charset("Cp1257", "windows-1257", new String[]{}),
>             new Charset("Cp1258", "windows-1258", new String[]{}),
>             new Charset("ISO2022CN", "ISO-2022-CN", new String[]{}),
>             new Charset("ISO2022JP", "ISO-2022-JP", new 
> String[]{"csISO2022JP", "JIS", "jis_encoding", "csjisencoding"}),
>             new Charset("ISO2022KR", "ISO-2022-KR", new 
> String[]{"csISO2022KR"}),
>             new Charset("JIS_X0201", "JIS_X0201", new String[]{"X0201", 
> "JIS0201", "csHalfWidthKatakana"}),
>             new Charset("JIS_X0212-1990", "JIS_X0212-1990", new 
> String[]{"iso-ir-159", "x0212", "JIS0212", "csISO159JISX02121990"}),
>             new Charset("JIS_C6626-1983", "JIS_C6626-1983", new 
> String[]{"x-JIS0208", "JIS0208", "csISO87JISX0208", "x0208", 
> "JIS_X0208-1983", "iso-ir-87"}),
>             new Charset("SJIS", "Shift_JIS", new String[]{"MS_Kanji", 
> "csShiftJIS", "shift-jis", "x-sjis", "pck"}),
>             new Charset("TIS620", "TIS-620", new String[]{}),
>             new Charset("MS932", "Windows-31J", new String[]{"windows-932", 
> "csWindows31J", "x-ms-cp932"}),
>             new Charset("EUC_TW", "EUC-TW", new String[]{"x-EUC-TW", 
> "cns11643", "euctw"}),
>             new Charset("x-Johab", "johab", new String[]{"johab", "cp1361", 
> "ms1361", "ksc5601-1992", "ksc5601_1992"}),
>             new Charset("MS950_HKSCS", "", new String[]{}),
>             new Charset("MS874", "windows-874", new String[]{"cp874"}),
>             new Charset("MS949", "windows-949", new String[]{"windows949", 
> "ms_949", "x-windows-949"}),
>             new Charset("MS950", "windows-950", new 
> String[]{"x-windows-950"}),
>             new Charset("Cp737", null, new String[]{}),
>             new Charset("Cp856", null, new String[]{}),
>             new Charset("Cp875", null, new String[]{}),
>             new Charset("Cp921", null, new String[]{}),
>             new Charset("Cp922", null, new String[]{}),
>             new Charset("Cp930", null, new String[]{}),
>             new Charset("Cp933", null, new String[]{}),
>             new Charset("Cp935", null, new String[]{}),
>             new Charset("Cp937", null, new String[]{}),
>             new Charset("Cp939", null, new String[]{}),
>             new Charset("Cp942", null, new String[]{}),
>             new Charset("Cp942C", null, new String[]{}),
>             new Charset("Cp943", null, new String[]{}),
>             new Charset("Cp943C", null, new String[]{}),
>             new Charset("Cp948", null, new String[]{}),
>             new Charset("Cp949", null, new String[]{}),
>             new Charset("Cp949C", null, new String[]{}),
>             new Charset("Cp950", null, new String[]{}),
>             new Charset("Cp964", null, new String[]{}),
>             new Charset("Cp970", null, new String[]{}),
>             new Charset("Cp1006", null, new String[]{}),
>             new Charset("Cp1025", null, new String[]{}),
>             new Charset("Cp1046", null, new String[]{}),
>             new Charset("Cp1097", null, new String[]{}),
>             new Charset("Cp1098", null, new String[]{}),
>             new Charset("Cp1112", null, new String[]{}),
>             new Charset("Cp1122", null, new String[]{}),
>             new Charset("Cp1123", null, new String[]{}),
>             new Charset("Cp1124", null, new String[]{}),
>             new Charset("Cp1381", null, new String[]{}),
>             new Charset("Cp1383", null, new String[]{}),
>             new Charset("Cp33722", null, new String[]{}),
>             new Charset("Big5_Solaris", null, new String[]{}),
>             new Charset("EUC_JP_LINUX", null, new String[]{}),
>             new Charset("EUC_JP_Solaris", null, new String[]{}),
>             new Charset("ISCII91", null, new String[]{"x-ISCII91", "iscii"}),
>             new Charset("ISO2022_CN_CNS", null, new String[]{}),
>             new Charset("ISO2022_CN_GB", null, new String[]{}),
>             new Charset("x-iso-8859-11", null, new String[]{}),
>             new Charset("JISAutoDetect", null, new String[]{}),
>             new Charset("MacArabic", null, new String[]{}),
>             new Charset("MacCentralEurope", null, new String[]{}),
>             new Charset("MacCroatian", null, new String[]{}),
>             new Charset("MacCyrillic", null, new String[]{}),
>             new Charset("MacDingbat", null, new String[]{}),
>             new Charset("MacGreek", "MacGreek", new String[]{}),
>             new Charset("MacHebrew", null, new String[]{}),
>             new Charset("MacIceland", null, new String[]{}),
>             new Charset("MacRoman", "MacRoman", new String[]{"Macintosh", 
> "MAC", "csMacintosh"}),
>             new Charset("MacRomania", null, new String[]{}),
>             new Charset("MacSymbol", null, new String[]{}),
>             new Charset("MacThai", null, new String[]{}),
>             new Charset("MacTurkish", null, new String[]{}),
>             new Charset("MacUkraine", null, new String[]{}),
>             new Charset("UnicodeBig", null, new String[]{}),
>             new Charset("UnicodeLittle", null, new String[]{})
>     };
>     private static class Charset implements Comparable<Charset> {
>         private String canonical = null;
>         private String mime = null;
>         private String[] aliases = null;
>         private Charset(String canonical, String mime, String[] aliases) {
>             this.canonical = canonical;
>             this.mime = mime;
>             this.aliases = aliases;
>         }
>         public int compareTo(Charset c) {
>             return this.canonical.compareTo(c.canonical);
>         }
>     }
> ******************************************************************************
> Please let me know if you need anymore information

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to