Package com.ibm.icu.text

Examples of com.ibm.icu.text.BreakIterator


        if (!collLocale.equals(defLocale)) {
            errln("FAIL: The collator locale must match with the default JVM locale");
        }

        // BreakIterator locale
        BreakIterator brk = gp.getBreakIterator(GlobalizationPreferences.BI_CHARACTER);
        ULocale brkLocale = brk.getLocale(ULocale.VALID_LOCALE);
        logln("BreakIterator locale: " + brkLocale.toString());
        if (!brkLocale.equals(defLocale)) {
            errln("FAIL: The break iterator locale must match with the default JVM locale");
        }
View Full Code Here


        GlobalizationPreferences gp = new GlobalizationPreferences();

        // Unsupported break iterator locale - aar
        logln("Set locale - aar");
        gp.setLocale(new ULocale("aar"));
        BreakIterator brk = gp.getBreakIterator(GlobalizationPreferences.BI_LINE);
        String locStr = brk.getLocale(ULocale.VALID_LOCALE).toString();
        if (!locStr.equals("root")) {
            errln("FAIL: Line break iterator locale is " + locStr + " Expected: root");
        }

        // Set locale - es
        logln("Set locale - es");
        gp.setLocale(new ULocale("es"));
        brk = gp.getBreakIterator(GlobalizationPreferences.BI_CHARACTER);
        /* TODO: JB#5383
        locStr = brk.getLocale(ULocale.VALID_LOCALE).toString();
        if (!locStr.equals("es")) {
            errln("FAIL: Character break iterator locale is " + locStr + " Expected: es");
        }
        */

        // Set explicit break sentence iterator
        logln("Set break iterator for sentence using locale hu_HU");
        BreakIterator brk1 = BreakIterator.getSentenceInstance(new ULocale("hu_HU"));
        gp.setBreakIterator(GlobalizationPreferences.BI_SENTENCE, brk1);

        brk = gp.getBreakIterator(GlobalizationPreferences.BI_SENTENCE);
        /* TODO: JB#5210
        locStr = brk.getLocale(ULocale.VALID_LOCALE).toString();
        if (!locStr.equals("hu_HU")) {
            errln("FAIL: Sentence break locale is " + locStr + " Expected: hu_HU");
        }
        */
        brk.setText("This is a test case.  Is this a new instance?");
        brk.next();
        if (brk1.current() == brk.current()) {
            errln("FAIL: getBreakIterator must return a new instance");
        }

        // Illegal argument
        logln("Get break iterator type 100");
        boolean illegalArg = false;
        try {
            brk = gp.getBreakIterator(100);
        } catch (IllegalArgumentException iae) {
            logln("Break iterator type 100 is illegal");
            illegalArg = true;
        }
        if (!illegalArg) {
            errln("FAIL: getBreakIterator must throw IllegalArgumentException for type 100");
        }
        logln("Set break iterator type -1");
        illegalArg = false;
        try {
            gp.setBreakIterator(-1, brk1);
        } catch (IllegalArgumentException iae) {
            logln("Break iterator type -1 is illegal");
            illegalArg = true;
        }
        if (!illegalArg) {
            errln("FAIL: getBreakIterator must throw IllegalArgumentException for type -1");
        }

        // Freeze
        logln("Freeze this object");
        BreakIterator brk2 = BreakIterator.getTitleInstance(new ULocale("es_MX"));
        boolean isFrozen = false;
        gp.freeze();
        try {
            gp.setBreakIterator(GlobalizationPreferences.BI_TITLE, brk2);
        } catch (UnsupportedOperationException uoe) {
            logln("setBreakIterator is blocked");
            isFrozen = true;
        }
        if (!isFrozen) {
            errln("FAIL: setBreakIterator must be blocked after frozen");
        }

        // Modifiable clone
        logln("cloneAsThawed");
        GlobalizationPreferences gp1 = (GlobalizationPreferences)gp.cloneAsThawed();
        brk = gp1.getBreakIterator(GlobalizationPreferences.BI_WORD);
        /* TODO: JB#5383
        locStr = brk.getLocale(ULocale.VALID_LOCALE).toString();
        if (!locStr.equals("es")) {
            errln("FAIL: Word break iterator locale is " + locStr + " Expected: es");
        }
        */

        ULocale frFR = new ULocale("fr_FR");
        BreakIterator brkC = BreakIterator.getCharacterInstance(frFR);
        BreakIterator brkW = BreakIterator.getWordInstance(frFR);
        BreakIterator brkL = BreakIterator.getLineInstance(frFR);
        BreakIterator brkS = BreakIterator.getSentenceInstance(frFR);
        BreakIterator brkT = BreakIterator.getTitleInstance(frFR);

        gp1.setBreakIterator(GlobalizationPreferences.BI_CHARACTER, brkC);
        gp1.setBreakIterator(GlobalizationPreferences.BI_WORD, brkW);
        gp1.setBreakIterator(GlobalizationPreferences.BI_LINE, brkL);
        gp1.setBreakIterator(GlobalizationPreferences.BI_SENTENCE, brkS);
View Full Code Here

       
    /*
     * Test method for 'com.ibm.icu.text.BreakIterator.hashCode()'
     */
    public void testHashCode() {
        BreakIterator br = BreakIterator.getWordInstance();
        br.setText(text);
        BreakIterator brne = BreakIterator.getWordInstance();
        brne.setText(text + "X");
        wbr.first();
        testEHCS(br, wbr, brne);
    }
View Full Code Here

    /*
     * Test method for 'com.ibm.icu.text.BreakIterator.setText(CharacterIterator)'
     */
    public void testSetTextCharacterIterator() {
        CharacterIterator ci = new StringCharacterIterator(text, pos);
        BreakIterator bi = BreakIterator.getWordInstance();
        bi.setText(ci);
        assertEquals(2, bi.next());
    }
View Full Code Here

                    buildString.append(" " + offsets[i]);
                }
                return buildString.toString();
            }
            public void doTest() {
                BreakIterator brkIter;
                switch( type ) {
                    case BreakIterator.KIND_CHARACTER: brkIter = BreakIterator.getCharacterInstance(locale); break;
                    case BreakIterator.KIND_WORD:      brkIter = BreakIterator.getWordInstance(locale); break;
                    case BreakIterator.KIND_LINE:      brkIter = BreakIterator.getLineInstance(locale); break;
                    case BreakIterator.KIND_SENTENCE:  brkIter = BreakIterator.getSentenceInstance(locale); break;
                    default: errln("Unsupported break iterator type " + type); return;
                }
                brkIter.setText(text);
                int[] foundOffsets = new int[maxOffsetCount];
                int offset, foundOffsetsCount = 0;
                // do forwards iteration test
                while ( foundOffsetsCount < maxOffsetCount && (offset = brkIter.next()) != BreakIterator.DONE ) {
                    foundOffsets[foundOffsetsCount++] = offset;
                }
                if ( !offsetsMatchExpected(foundOffsets, foundOffsetsCount) ) {
                    // log error for forwards test
                    String textToDisplay = (text.length() <= 16)? text: text.substring(0,16);
                    errln("For type " + type + " " + locale + ", text \"" + textToDisplay + "...\"" +
                            "; expect " + expectOffsets.length + " offsets:" + formatOffsets(expectOffsets, expectOffsets.length) +
                            "; found " + foundOffsetsCount + " offsets fwd:" + formatOffsets(foundOffsets, foundOffsetsCount) );
                } else {
                    // do backwards iteration test
                    --foundOffsetsCount; // back off one from the end offset
                    while ( foundOffsetsCount > 0 ) {
                        offset = brkIter.previous();
                        if ( offset != foundOffsets[--foundOffsetsCount] ) {
                            // log error for backwards test
                            String textToDisplay = (text.length() <= 16)? text: text.substring(0,16);
                            errln("For type " + type + " " + locale + ", text \"" + textToDisplay + "...\"" +
                                    "; expect " + expectOffsets.length + " offsets:" + formatOffsets(expectOffsets, expectOffsets.length) +
View Full Code Here

    }

    private BreakIterator createTestIterator(int kind) {
        final String bname = "com.ibm.icu.dev.test.rbbi.BreakIteratorRules_en_US_TEST";

        BreakIterator iter = null;

        ListResourceBundle bundle = null;
        try {
            Class cls = Class.forName(bname);
            bundle = (ListResourceBundle)cls.newInstance();
View Full Code Here

       
        return iter;
    }
   
    public void testWordBreak() throws Exception {
        BreakIterator wordBreak = createTestIterator(BreakIterator.KIND_WORD);
        int breaks = doTest(wordBreak);
        logln(String.valueOf(breaks));
    }
View Full Code Here

        int breaks = doTest(wordBreak);
        logln(String.valueOf(breaks));
    }

    public void testLineBreak() throws Exception {
        BreakIterator lineBreak = createTestIterator(BreakIterator.KIND_LINE);
        int breaks = doTest(lineBreak);
        logln(String.valueOf(breaks));
    }
View Full Code Here

        int breaks = doTest(lineBreak);
        logln(String.valueOf(breaks));
    }

    public void testSentenceBreak() throws Exception {
        BreakIterator sentenceBreak = createTestIterator(BreakIterator.KIND_SENTENCE);
        int breaks = doTest(sentenceBreak);
        logln(String.valueOf(breaks));
    }
View Full Code Here

    }

    public void TestRegUnreg() {
    Locale thailand_locale = new Locale("th", "TH", "");
    Locale foo_locale = new Locale("fu", "FU", "FOO");
    BreakIterator jwbi = BreakIterator.getWordInstance(Locale.JAPAN);
    BreakIterator uwbi = BreakIterator.getWordInstance(Locale.US);
    BreakIterator usbi = BreakIterator.getSentenceInstance(Locale.US);
    BreakIterator twbi = BreakIterator.getWordInstance(thailand_locale);
    BreakIterator rwbi = BreakIterator.getWordInstance(new Locale("", "", ""));

    BreakIterator sbi = (BreakIterator)usbi.clone();
    // todo: this will cause the test to fail, no way to set a breakiterator to null text so can't fix yet.
    // String text = "This is some test, by golly. Boy, they don't make tests like they used to, do they?  This here test ain't worth $2.50.  Nope.";
    // sbi.setText(text);

    assertTrue(!BreakIterator.unregister(""), "unregister before register"); // coverage

    Object key0 = BreakIterator.registerInstance((BreakIterator)twbi.clone(), foo_locale, BreakIterator.KIND_WORD);
    Object key1 = BreakIterator.registerInstance(sbi, Locale.US, BreakIterator.KIND_WORD);
    Object key2 = BreakIterator.registerInstance((BreakIterator)twbi.clone(), Locale.US, BreakIterator.KIND_WORD);
   
    {
        BreakIterator test0 = BreakIterator.getWordInstance(Locale.JAPAN);
        BreakIterator test1 = BreakIterator.getWordInstance(Locale.US);
        BreakIterator test2 = BreakIterator.getSentenceInstance(Locale.US);
        BreakIterator test3 = BreakIterator.getWordInstance(thailand_locale);
        BreakIterator test4 = BreakIterator.getWordInstance(foo_locale);

        assertEqual(test0, jwbi, "japan word == japan word");
        assertEqual(test1, twbi, "us word == thai word");
        assertEqual(test2, usbi, "us sentence == us sentence");
        assertEqual(test3, twbi, "thai word == thai word");
        assertEqual(test4, twbi, "foo word == thai word");
    }

    //Locale[] locales = BreakIterator.getAvailableLocales();
   
    assertTrue(BreakIterator.unregister(key2), "unregister us word (thai word)");
    assertTrue(!BreakIterator.unregister(key2), "unregister second time");
    boolean error = false;
    try {
        BreakIterator.unregister(null);
    }
    catch (IllegalArgumentException e) {
        error = true;
    }

    assertTrue(error, "unregister null");

    {
        CharacterIterator sci = BreakIterator.getWordInstance(Locale.US).getText();
        int len = sci.getEndIndex() - sci.getBeginIndex();
        assertEqual(len, 0, "us word text: " + getString(sci));
    }

    assertTrue(Arrays.asList(BreakIterator.getAvailableLocales()).contains(foo_locale), "foo_locale");
    assertTrue(BreakIterator.unregister(key0), "unregister foo word (thai word)");
    assertTrue(!Arrays.asList(BreakIterator.getAvailableLocales()).contains(foo_locale), "no foo_locale");
    assertEqual(BreakIterator.getWordInstance(Locale.US), usbi, "us word == us sentence");
   
    assertTrue(BreakIterator.unregister(key1), "unregister us word (us sentence)");
    {
        BreakIterator test0 = BreakIterator.getWordInstance(Locale.JAPAN);
        BreakIterator test1 = BreakIterator.getWordInstance(Locale.US);
        BreakIterator test2 = BreakIterator.getSentenceInstance(Locale.US);
        BreakIterator test3 = BreakIterator.getWordInstance(thailand_locale);
        BreakIterator test4 = BreakIterator.getWordInstance(foo_locale);

        assertEqual(test0, jwbi, "japanese word break");
        assertEqual(test1, uwbi, "us sentence-word break");
        assertEqual(test2, usbi, "us sentence break");
        assertEqual(test3, twbi, "thai word break");
View Full Code Here

TOP

Related Classes of com.ibm.icu.text.BreakIterator

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.