You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2012/04/26 00:02:17 UTC

[jira] [Commented] (LUCENE-4021) Locale representations don't round trip from toString->new Locale.

    [ https://issues.apache.org/jira/browse/LUCENE-4021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262175#comment-13262175 ] 

Robert Muir commented on LUCENE-4021:
-------------------------------------

yeah we have to fix that Locale code i added.

The general problem is that java7 locales really shouldnt be parsed this way (imo) but
with forLanguageTag.

Any way i can guarantee you this is gonna be messy even if you know what you are doing
(e.g. http://bugs.icu-project.org/trac/ticket/8734).

And reproducibility between java6 and 7 is just out of the question.
                
> Locale representations don't round trip from toString->new Locale.
> ------------------------------------------------------------------
>
>                 Key: LUCENE-4021
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4021
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Dawid Weiss
>            Priority: Minor
>
> The script and extensions are not currently parsed. Seems like they were added in 1.7 only too so it'll probably require Java-version-specific workarounds. 
> {noformat}
>   public void testLocaleRoundTrip() {
>     for (Locale locale : Locale.getAvailableLocales()) {
>       String s = locale.toString();
>       try {
>         Locale back = LuceneTestCase.localeForName(s);
>         assertEquals(locale, back);
>       } catch (Exception e) {
>         System.err.println("Failed roundtrip: " + s + " (" + e.toString() + ")");
>       } catch (AssertionError e) {
>         System.err.println("Not equals: " + s + " (" + e.toString() + ")");
>       }
>     }
>   }
> {noformat}
> Example locales that don't pass.
> {noformat}
> th_TH_TH_#u-nu-thai
> ja_JP_JP_#u-ca-japanese
> {noformat}
> Interestingly, some that do pass the reverse trip are not .equal to their originals:
> {noformat}
> Not equals: sr_ME_#Latn (java.lang.AssertionError: expected: java.util.Locale<sr_ME_#Latn> but was: java.util.Locale<sr_ME_#Latn>)
> Not equals: sr_BA_#Latn (java.lang.AssertionError: expected: java.util.Locale<sr_BA_#Latn> but was: java.util.Locale<sr_BA_#Latn>)
> Not equals: sr__#Latn (java.lang.AssertionError: expected: java.util.Locale<sr__#Latn> but was: java.util.Locale<sr__#Latn>)
> Not equals: sr_RS_#Latn (java.lang.AssertionError: expected: java.util.Locale<sr_RS_#Latn> but was: java.util.Locale<sr_RS_#Latn>)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org