Paulex Yang wrote:
Geir Magnusson Jr wrote:
maybe we should reject things not in patch format, as it puts unnecessary load on the committers.

Feel free to drop the code into comment or email so that we can discuss, but patch is much easier for everyone involved....
Agree, I suggest to still paste the test codes when raising JIRA issue so that others can easily review the test, try and discuss, while the patch provided should include both implementation fix and merged regression tests.

Yes - exactly. There's no problem when putting code in for discussion purposes, as you suggest.

geir



Tim Ellison wrote:
p.s.  I accept test cases in patch format too ;-)

Regards,
Tim

Richard Liang (JIRA) wrote:
[ http://issues.apache.org/jira/browse/HARMONY-141?page=comments#action_12368097 ]
Richard Liang commented on HARMONY-141:
---------------------------------------

Here are the test cases which will pass on RI but fail on Harmony.

    public void testConstructorIlegalAverageBytesPerChar() {
        try {
            Charset cs = Charset.forName("UTF-8"); //$NON-NLS-1$
CharsetEncoder encoder = new MockCharsetEncoderForHarmony141(cs, 1.1f, 1); fail("Should throw IllegalArgumentException."); //$NON-NLS-1$
        } catch (IllegalArgumentException e) {
            // expected
        }
    }

    public void testConstructorIlegalAverageBytesPerChar2() {
        try {
            Charset cs = Charset.forName("ISO8859-1"); //$NON-NLS-1$
CharsetEncoder encoder = new MockCharsetEncoderForHarmony141(cs, 1.1f, 1,
                    new byte[] { 0x1a});
fail("Should throw IllegalArgumentException."); //$NON-NLS-1$
        } catch (IllegalArgumentException e) {
            // expected
        }
    }

public static class MockCharsetEncoderForHarmony141 extends CharsetEncoder {

protected MockCharsetEncoderForHarmony141(Charset cs, float averageBytesPerChar,
                float maxBytesPerChar) {
            super(cs, averageBytesPerChar, maxBytesPerChar);
        }

public MockCharsetEncoderForHarmony141(Charset cs, float averageBytesPerChar,
                float maxBytesPerChar, byte[] replacement) {
super(cs, averageBytesPerChar, maxBytesPerChar, replacement);
        }

protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
            return null;
        }

    }


Constructors of java.nio.charset.CharsetEncoder do not validate arguments -------------------------------------------------------------------------

         Key: HARMONY-141
         URL: http://issues.apache.org/jira/browse/HARMONY-141
     Project: Harmony
        Type: Bug
    Reporter: Richard Liang
Constructors of java.nio.charset.CharsetEncoder should throw IllegalArgumentException when averageBytesPerChar exceeds maxBytesPerChar.




Reply via email to