Index: BidiTest.java =================================================================== --- BidiTest.java (revision 428277) +++ BidiTest.java (working copy) @@ -731,6 +766,62 @@ assertFalse(line.isRightToLeft()); } + public void testCreateLineBidiInvalid() { + try { + new Bidi("str", 1).createLineBidi(-1, 1); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + + try { + new Bidi("str", 1).createLineBidi(1, -1); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + + try { + new Bidi("str", 1).createLineBidi(-1, -1); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + + try { + new Bidi("str", 1).createLineBidi(2, 1); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + + try { + new Bidi("str", 1).createLineBidi(2, 4); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + + try { + new Bidi("str", 1).createLineBidi(2, 4); + fail("Expected IAE"); + } catch (IllegalArgumentException e) { + // Expected + } catch (Exception e) { + fail("Expected IAE"); + } + } + public void testIncompatibleLineAlgorithm() { // ICU treat a new line as in the same run, however RI does not bd = new Bidi("aaaaa".toCharArray(), 0,