21 # questions. |
21 # questions. |
22 # |
22 # |
23 #!/bin/sh |
23 #!/bin/sh |
24 # |
24 # |
25 # @test |
25 # @test |
26 # @bug 6336885 7196799 7197573 7198834 |
26 # @bug 6336885 7196799 7197573 7198834 8000245 8000615 |
27 # @summary tests for "java.locale.providers" system property |
27 # @summary tests for "java.locale.providers" system property |
28 # @compile -XDignore.symbol.file LocaleProviders.java |
28 # @compile -XDignore.symbol.file LocaleProviders.java |
29 # @run shell/timeout=600 LocaleProviders.sh |
29 # @run shell/timeout=600 LocaleProviders.sh |
30 |
30 |
31 if [ "${TESTSRC}" = "" ] |
31 if [ "${TESTSRC}" = "" ] |
62 * ) |
62 * ) |
63 echo "Unrecognized system!" |
63 echo "Unrecognized system!" |
64 exit 1; |
64 exit 1; |
65 ;; |
65 ;; |
66 esac |
66 esac |
|
67 |
|
68 # create an SPI implementation |
|
69 mk() { |
|
70 d=`dirname $1` |
|
71 if [ ! -d $d ]; then mkdir -p $d; fi |
|
72 cat - >$1 |
|
73 } |
|
74 |
|
75 SPIDIR=${TESTCLASSES}${FS}spi |
|
76 rm -rf ${SPIDIR} |
|
77 mk ${SPIDIR}${FS}src${FS}tznp.java << EOF |
|
78 import java.util.spi.TimeZoneNameProvider; |
|
79 import java.util.Locale; |
|
80 |
|
81 public class tznp extends TimeZoneNameProvider { |
|
82 public String getDisplayName(String ID, boolean daylight, int style, Locale locale) { |
|
83 return "tznp"; |
|
84 } |
|
85 |
|
86 public Locale[] getAvailableLocales() { |
|
87 Locale[] locales = {Locale.GERMAN, Locale.US, Locale.JAPANESE, Locale.CHINESE}; |
|
88 return locales; |
|
89 } |
|
90 } |
|
91 EOF |
|
92 mk ${SPIDIR}${FS}dest${FS}META-INF${FS}services${FS}java.util.spi.TimeZoneNameProvider << EOF |
|
93 tznp |
|
94 EOF |
|
95 ${TESTJAVA}${FS}bin${FS}javac -d ${SPIDIR}${FS}dest ${SPIDIR}${FS}src${FS}tznp.java |
|
96 ${TESTJAVA}${FS}bin${FS}jar cvf ${SPIDIR}${FS}tznp.jar -C ${SPIDIR}${FS}dest . |
67 |
97 |
68 # get the platform default locales |
98 # get the platform default locales |
69 PLATDEF=`${TESTJAVA}${FS}bin${FS}java -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale display` |
99 PLATDEF=`${TESTJAVA}${FS}bin${FS}java -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale display` |
70 DEFLANG=`echo ${PLATDEF} | sed -e "s/,.*//"` |
100 DEFLANG=`echo ${PLATDEF} | sed -e "s/,.*//"` |
71 DEFCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"` |
101 DEFCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"` |