Package java.text

Examples of java.text.Bidi


    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());
  }

  public void testComplicatedBidi() {
    bd = new Bidi("a\u05D0a\"a\u05D0\"\u05D0a",
        Bidi.DIRECTION_RIGHT_TO_LEFT);
    assertFalse(bd.baseIsLeftToRight());
    assertEquals(1, bd.getBaseLevel());
    assertEquals(9, bd.getLength());
    assertEquals(2, bd.getLevelAt(0));
View Full Code Here


    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());
  }

  public void testComplicatedOverrideBidi() {
    bd = new Bidi("a\u05D0a\"a\u05D0\"\u05D0a".toCharArray(), 0,
        new byte[] { 0, 0, 0, -3, -3, 2, 2, 0, 3 }, 0, 9,
        Bidi.DIRECTION_RIGHT_TO_LEFT);
    assertFalse(bd.baseIsLeftToRight());
    assertEquals(1, bd.getBaseLevel());
    assertEquals(9, bd.getLength());
View Full Code Here

    assertFalse(Bidi.requiresBidi("aa\u05D0a".toCharArray(), 0, 2));
    assertTrue(Bidi.requiresBidi("aa\u05D0a".toCharArray(), 1, 3));
  }

  public void testHebrewOverrideEmbeddings() {
    bd = new Bidi(new char[] { '\u05D0', '\u05D0', '\u05D0' }, 0,
        new byte[] { (byte) -1, (byte) -2, (byte) -3 }, 0, 3,
        Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT);
    assertFalse(bd.baseIsLeftToRight());
    assertEquals(1, bd.getBaseLevel());
    assertEquals(3, bd.getLength());
    assertEquals(1, bd.getLevelAt(0));
    assertEquals(2, bd.getLevelAt(1));
    assertEquals(3, bd.getLevelAt(2));
    assertEquals(1, bd.getLevelAt(1000));
    assertEquals(3, bd.getRunCount());
    assertRunArrayEquals(new int[][] { { 0, 1, 1 }, { 1, 2, 2 },
        { 2, 3, 3 }, }, bd);
    assertFalse(bd.isLeftToRight());
    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());

    bd = new Bidi(new char[] { '\u05D0', '\u05D0', '\u05D0' }, 0,
        new byte[] { (byte) -1, (byte) -2, (byte) -3 }, 0, 3,
        Bidi.DIRECTION_DEFAULT_RIGHT_TO_LEFT);
    assertFalse(bd.baseIsLeftToRight());
    assertEquals(1, bd.getBaseLevel());
    assertEquals(3, bd.getLength());
    assertEquals(1, bd.getLevelAt(0));
    assertEquals(2, bd.getLevelAt(1));
    assertEquals(3, bd.getLevelAt(2));
    assertEquals(1, bd.getLevelAt(1000));
    assertEquals(3, bd.getRunCount());
    assertRunArrayEquals(new int[][] { { 0, 1, 1 }, { 1, 2, 2 },
        { 2, 3, 3 }, }, bd);
    assertFalse(bd.isLeftToRight());
    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());

    bd = new Bidi(new char[] { '\u05D0', '\u05D0', '\u05D0' }, 0,
        new byte[] { (byte) -1, (byte) -2, (byte) -3 }, 0, 3,
        Bidi.DIRECTION_LEFT_TO_RIGHT);
    assertTrue(bd.baseIsLeftToRight());
    assertEquals(0, bd.getBaseLevel());
    assertEquals(3, bd.getLength());
    assertEquals(1, bd.getLevelAt(0));
    assertEquals(2, bd.getLevelAt(1));
    assertEquals(3, bd.getLevelAt(2));
    assertEquals(0, bd.getLevelAt(1000));
    assertEquals(3, bd.getRunCount());
    assertRunArrayEquals(new int[][] { { 0, 1, 1 }, { 1, 2, 2 },
        { 2, 3, 3 }, }, bd);
    assertFalse(bd.isLeftToRight());
    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());

    bd = new Bidi(new char[] { '\u05D0', '\u05D0', '\u05D0' }, 0,
        new byte[] { (byte) -1, (byte) -2, (byte) -3 }, 0, 3,
        Bidi.DIRECTION_RIGHT_TO_LEFT);
    assertFalse(bd.baseIsLeftToRight());
    assertEquals(1, bd.getBaseLevel());
    assertEquals(3, bd.getLength());
View Full Code Here

    assertTrue(bd.isMixed());
    assertFalse(bd.isRightToLeft());
  }

  public void testCreateLineBidi() {
    bd = new Bidi("a\u05D0a\u05D0a\u05D0\"\u05D0a".toCharArray(), 0,
        new byte[] { 0, 0, 0, -3, -3, 2, 2, 0, 3 }, 0, 9,
        Bidi.DIRECTION_RIGHT_TO_LEFT);
    Bidi line = bd.createLineBidi(2, 7);
    assertFalse(line.baseIsLeftToRight());
    assertEquals(1, line.getBaseLevel());
    assertEquals(5, line.getLength());
    assertEquals(2, line.getLevelAt(0));
    assertEquals(3, line.getLevelAt(1));
    assertEquals(3, line.getLevelAt(2));
    assertEquals(3, line.getLevelAt(3));
    assertEquals(2, line.getLevelAt(4));
    assertEquals(1, line.getLevelAt(1000));
    assertEquals(3, line.getRunCount());
    assertRunArrayEquals(new int[][] { { 0, 1, 2 }, { 1, 4, 3 },
        { 4, 5, 2 }, }, line);
    assertFalse(line.isLeftToRight());
    assertTrue(line.isMixed());
    assertFalse(line.isRightToLeft());
  }
View Full Code Here

    assertFalse(line.isRightToLeft());
  }

    public void testCreateLineBidiInvalid() {
        //regression for HARMONY-1050
        Bidi bidi = new Bidi("str", 1);
        try {
            bidi.createLineBidi(-1, 1);
            fail("Expected IAE");          
        } catch (IllegalArgumentException e) {
            // Expected
        }
       
        try {
            bidi.createLineBidi(1, -1);
            fail("Expected IAE");          
        } catch (IllegalArgumentException e) {
            // Expected
        }
       
        try {
            bidi.createLineBidi(-1, -1);
            fail("Expected IAE");          
        } catch (IllegalArgumentException e) {
            // Expected
        }

        try {
            bidi.createLineBidi(2, 1);
            fail("Expected IAE");          
        } catch (IllegalArgumentException e) {
            // Expected
        }

        try {
            bidi.createLineBidi(2, 2);
        }catch (IllegalArgumentException e){
            // Expected
        }

        try {
            bidi.createLineBidi(2, 4);
            fail("Expected IAE");          
        } catch (IllegalArgumentException e) {
            // Expected
        }
    }
View Full Code Here

        }
    }
   
  public void testIncompatibleLineAlgorithm() {
    // ICU treat a new line as in the same run, however RI does not
    bd = new Bidi("aaaaa".toCharArray(), 0,
        new byte[] { -2, -1, -3, -3, -2 }, 0, 5,
        Bidi.DIRECTION_RIGHT_TO_LEFT);
    Bidi line = bd.createLineBidi(1, 4);
    assertFalse(line.baseIsLeftToRight());
    assertEquals(1, line.getBaseLevel());
    assertEquals(3, line.getLength());
    assertEquals(1, line.getLevelAt(0));
    assertEquals(1, line.getLevelAt(1));
    assertEquals(1, line.getLevelAt(2));
    assertEquals(1, line.getLevelAt(1000));
    assertEquals(1, line.getRunCount());
    assertRunArrayEquals(new int[][] { { 0, 3, 1 }, }, line);
    assertFalse(line.isLeftToRight());
    assertFalse(line.isMixed());
    assertTrue(line.isRightToLeft());
  }
View Full Code Here

                {3, 5},
                {5, 7},
                {7, 9},
        };
       
        Bidi bi = new Bidi(defText, 0);
        final int count = bi.getRunCount();
        for (int i = 0; i < count; i++) {
            assertEquals(expectedRuns[i][0], bi.getRunStart(i));
            assertEquals(expectedRuns[i][1], bi.getRunLimit(i));
        }
    }
View Full Code Here

            assertEquals(expectedRuns[i][0], bi.getRunStart(i));
            assertEquals(expectedRuns[i][1], bi.getRunLimit(i));
        }
    }
       public void testGetRunLimit() {
         bd = new Bidi("text", Bidi.DIRECTION_LEFT_TO_RIGHT);
         try {
             assertTrue(4 == bd.getRunLimit(-1));
         } catch (IllegalArgumentException e) {
             // Expected for illegal run limit
             return;
View Full Code Here

         fail("Expected IllegalArgumentException to be thrown for invalid run limit");
       }

       public void testBidiConstructor_Iterator() {
               AttributedString paragraph = new AttributedString("text");
         bd = new Bidi(paragraph.getIterator());
         try {
             assertTrue(4 == bd.getRunLimit(1));
         } catch (IllegalArgumentException e) {
             // Expected for illegal run limit
             return;
View Full Code Here

        try {
            content.getChars(parStart, parLen, text);
        } catch (final BadLocationException e) { }

        Bidi bidi = new Bidi(text.array, text.offset, null, 0, text.count,
                             getDefaultDirection(par));

        final int runCount = bidi.getRunCount();
        for (int i = 0; i < runCount; i++) {
            int level = bidi.getRunLevel(i);

            if (i == 0 && added.size() > 0) {
                Element prevBidi = added.get(added.size() - 1);
                if (getBidiLevel(prevBidi) == level) {
                    added.remove(added.size() - 1);
                    added.add(new BidiElement(prevBidi.getAttributes(),
                                              prevBidi.getStartOffset(),
                                              parStart + bidi.getRunLimit(i)));
                    continue;
                }
            }

            added.add(
                new BidiElement(context.addAttribute(context.getEmptySet(),
                                                     StyleConstants.BidiLevel,
                                                     new Integer(level)),
                                parStart + bidi.getRunStart(i),
                                parStart + bidi.getRunLimit(i)));
        }

    }
View Full Code Here

TOP

Related Classes of java.text.Bidi

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.