@@ -25,18 +25,21 @@ public class LocaleTypeDescriptorTest extends BaseUnitTestCase {
25
25
26
26
@ Test
27
27
public void testConversionFromString () {
28
- assertEquals ( toLocale ( "de" , null , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de" ) );
29
- assertEquals ( toLocale ( "de" , "DE" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de_DE" ) );
30
- assertEquals ( toLocale ( null , "DE" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "_DE" ) );
31
- assertEquals ( toLocale ( null , null , "ch123" ), LocaleTypeDescriptor .INSTANCE .fromString ( "__ch123" ) );
32
- assertEquals ( toLocale ( null , "DE" , "ch123" ), LocaleTypeDescriptor .INSTANCE .fromString ( "_DE_ch123" ) );
33
- assertEquals ( toLocale ( "de" , null , "ch123" ), LocaleTypeDescriptor .INSTANCE .fromString ( "de__ch123" ) );
34
- assertEquals ( toLocale ( "de" , "DE" , "ch123" ), LocaleTypeDescriptor .INSTANCE .fromString ( "de_DE_ch123" ) );
35
- assertEquals ( toLocale ( "" , "" , "" ), LocaleTypeDescriptor .INSTANCE .fromString ( "" ) );
28
+ assertEquals ( toLocale ( "de" , null , null , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de" ) );
29
+ assertEquals ( toLocale ( "de" , "DE" , null , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de_DE" ) );
30
+ assertEquals ( toLocale ( null , "DE" , null , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "_DE" ) );
31
+ assertEquals ( toLocale ( null , null , "ch123" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "__ch123" ) );
32
+ assertEquals ( toLocale ( null , "DE" , "ch123" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "_DE_ch123" ) );
33
+ assertEquals ( toLocale ( "de" , null , "ch123" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de__ch123" ) );
34
+ assertEquals ( toLocale ( "de" , "DE" , "ch123" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de_DE_ch123" ) );
35
+ assertEquals ( toLocale ( "zh" , "HK" , null , "Hant" ), LocaleTypeDescriptor .INSTANCE .fromString ( "zh_HK_#Hant" ) );
36
+ assertEquals ( toLocale ( "zh" , "TW" , null , "Hant" ), LocaleTypeDescriptor .INSTANCE .fromString ( "zh_TW_#Hant_x-java" ) );
37
+ assertEquals ( toLocale ( "de" , "DE" , "1996" , null ), LocaleTypeDescriptor .INSTANCE .fromString ( "de_DE_1996_#u-co-phonebk-ka-shifted" ) );
38
+
36
39
assertEquals ( Locale .ROOT , LocaleTypeDescriptor .INSTANCE .fromString ( "" ) );
37
40
}
38
41
39
- public Locale toLocale (String lang , String region , String variant ) {
42
+ public Locale toLocale (String lang , String region , String variant , String script ) {
40
43
final Locale .Builder builder = new Locale .Builder ();
41
44
if ( StringHelper .isNotEmpty ( lang ) ) {
42
45
builder .setLanguage ( lang );
@@ -47,6 +50,9 @@ public Locale toLocale(String lang, String region, String variant) {
47
50
if ( StringHelper .isNotEmpty ( variant ) ) {
48
51
builder .setVariant ( variant );
49
52
}
53
+ if ( StringHelper .isNotEmpty ( script ) ) {
54
+ builder .setScript ( script );
55
+ }
50
56
return builder .build ();
51
57
}
52
58
}
0 commit comments