test/java/util/Locale/LocaleProviders.sh

Print this page
rev 7036 : imported patch 8013086


   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #!/bin/sh
  24 #
  25 # @test
  26 # @bug 6336885 7196799 7197573 7198834 8000245 8000615 8001440 8010666

  27 # @summary tests for "java.locale.providers" system property
  28 # @compile -XDignore.symbol.file LocaleProviders.java
  29 # @run shell/timeout=600 LocaleProviders.sh
  30 
  31 if [ "${TESTSRC}" = "" ]
  32 then
  33   echo "TESTSRC not set.  Test cannot execute.  Failed."
  34   exit 1
  35 fi
  36 echo "TESTSRC=${TESTSRC}"
  37 if [ "${TESTJAVA}" = "" ]
  38 then
  39   echo "TESTJAVA not set.  Test cannot execute.  Failed."
  40   exit 1
  41 fi
  42 if [ "${COMPILEJAVA}" = "" ]
  43 then
  44   COMPILEJAVA="${TESTJAVA}"
  45 fi
  46 echo "TESTJAVA=${TESTJAVA}"


  52 echo "TESTCLASSES=${TESTCLASSES}"
  53 echo "CLASSPATH=${CLASSPATH}"
  54 
  55 # set platform-dependent variables
  56 OS=`uname -s`
  57 case "$OS" in
  58   SunOS | Linux | *BSD | Darwin )
  59     PS=":"
  60     FS="/"
  61     ;;
  62   Windows* | CYGWIN* )
  63     PS=";"
  64     FS="\\"
  65     ;;
  66   * )
  67     echo "Unrecognized system!"
  68     exit 1;
  69     ;;
  70 esac
  71 
  72 # create an SPI implementation
  73 mk() {
  74   d=`dirname $1`
  75   if [ ! -d $d ]; then mkdir -p $d; fi
  76   cat - >$1
  77 }
  78 
  79 SPIDIR=${TESTCLASSES}${FS}spi
  80 rm -rf ${SPIDIR}
  81 mk ${SPIDIR}${FS}src${FS}tznp.java << EOF
  82 import java.util.spi.TimeZoneNameProvider;
  83 import java.util.Locale;
  84 
  85 public class tznp extends TimeZoneNameProvider {
  86     public String getDisplayName(String ID, boolean daylight, int style, Locale locale) {
  87         return "tznp";
  88     }
  89 
  90     public Locale[] getAvailableLocales() {
  91         Locale[] locales = {Locale.GERMAN, Locale.US, Locale.JAPANESE, Locale.CHINESE};
  92         return locales;
  93     }
  94 }
  95 EOF




















  96 mk ${SPIDIR}${FS}dest${FS}META-INF${FS}services${FS}java.util.spi.TimeZoneNameProvider << EOF
  97 tznp

  98 EOF
  99 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${SPIDIR}${FS}dest \
 100     ${SPIDIR}${FS}src${FS}tznp.java

 101 ${COMPILEJAVA}${FS}bin${FS}jar ${TESTTOOLVMOPTS} cvf ${SPIDIR}${FS}tznp.jar -C ${SPIDIR}${FS}dest .
 102 
 103 # get the platform default locales
 104 PLATDEF=`${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale display`
 105 DEFLANG=`echo ${PLATDEF} | sed -e "s/,.*//"`
 106 DEFCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"`
 107 echo "DEFLANG=${DEFLANG}"
 108 echo "DEFCTRY=${DEFCTRY}"
 109 PLATDEF=`${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale format`
 110 DEFFMTLANG=`echo ${PLATDEF} | sed -e "s/,.*//"`
 111 DEFFMTCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"`
 112 echo "DEFFMTLANG=${DEFFMTLANG}"
 113 echo "DEFFMTCTRY=${DEFFMTCTRY}"
 114 
 115 runTest()
 116 {
 117     RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} -Djava.locale.providers=$PREFLIST LocaleProviders $METHODNAME $PARAM1 $PARAM2 $PARAM3"
 118     echo ${RUNCMD}
 119     ${RUNCMD}
 120     result=$?


 252 
 253 # testing 8001440 fix.
 254 METHODNAME=bug8001440Test
 255 PREFLIST=CLDR
 256 PARAM1=
 257 PARAM2=
 258 PARAM3=
 259 runTest
 260 
 261 # testing 8010666 fix.
 262 if [ "${DEFLANG}" = "en" ]
 263 then
 264   METHODNAME=bug8010666Test
 265   PREFLIST=HOST
 266   PARAM1=
 267   PARAM2=
 268   PARAM3=
 269   runTest
 270 fi
 271 








 272 exit $result


   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #!/bin/sh
  24 #
  25 # @test
  26 # @bug 6336885 7196799 7197573 7198834 8000245 8000615 8001440 8010666
  27 #      8013086 
  28 # @summary tests for "java.locale.providers" system property
  29 # @compile -XDignore.symbol.file LocaleProviders.java
  30 # @run shell/timeout=600 LocaleProviders.sh
  31 
  32 if [ "${TESTSRC}" = "" ]
  33 then
  34   echo "TESTSRC not set.  Test cannot execute.  Failed."
  35   exit 1
  36 fi
  37 echo "TESTSRC=${TESTSRC}"
  38 if [ "${TESTJAVA}" = "" ]
  39 then
  40   echo "TESTJAVA not set.  Test cannot execute.  Failed."
  41   exit 1
  42 fi
  43 if [ "${COMPILEJAVA}" = "" ]
  44 then
  45   COMPILEJAVA="${TESTJAVA}"
  46 fi
  47 echo "TESTJAVA=${TESTJAVA}"


  53 echo "TESTCLASSES=${TESTCLASSES}"
  54 echo "CLASSPATH=${CLASSPATH}"
  55 
  56 # set platform-dependent variables
  57 OS=`uname -s`
  58 case "$OS" in
  59   SunOS | Linux | *BSD | Darwin )
  60     PS=":"
  61     FS="/"
  62     ;;
  63   Windows* | CYGWIN* )
  64     PS=";"
  65     FS="\\"
  66     ;;
  67   * )
  68     echo "Unrecognized system!"
  69     exit 1;
  70     ;;
  71 esac
  72 
  73 # create SPI implementations
  74 mk() {
  75   d=`dirname $1`
  76   if [ ! -d $d ]; then mkdir -p $d; fi
  77   cat - >$1
  78 }
  79 
  80 SPIDIR=${TESTCLASSES}${FS}spi
  81 rm -rf ${SPIDIR}
  82 mk ${SPIDIR}${FS}src${FS}tznp.java << EOF
  83 import java.util.spi.TimeZoneNameProvider;
  84 import java.util.Locale;
  85 
  86 public class tznp extends TimeZoneNameProvider {
  87     public String getDisplayName(String ID, boolean daylight, int style, Locale locale) {
  88         return "tznp";
  89     }
  90 
  91     public Locale[] getAvailableLocales() {
  92         Locale[] locales = {Locale.US};
  93         return locales;
  94     }
  95 }
  96 EOF
  97 mk ${SPIDIR}${FS}src${FS}tznp8013086.java << EOF
  98 import java.util.spi.TimeZoneNameProvider;
  99 import java.util.Locale;
 100 import java.util.TimeZone;
 101 
 102 public class tznp8013086 extends TimeZoneNameProvider {
 103     public String getDisplayName(String ID, boolean daylight, int style, Locale locale) {
 104         if (!daylight && style==TimeZone.LONG) {
 105             return "tznp8013086";
 106         } else {
 107             return null;
 108         }
 109     }
 110 
 111     public Locale[] getAvailableLocales() {
 112         Locale[] locales = {Locale.JAPAN};
 113         return locales;
 114     }
 115 }
 116 EOF
 117 mk ${SPIDIR}${FS}dest${FS}META-INF${FS}services${FS}java.util.spi.TimeZoneNameProvider << EOF
 118 tznp
 119 tznp8013086
 120 EOF
 121 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${SPIDIR}${FS}dest \
 122     ${SPIDIR}${FS}src${FS}tznp.java \
 123     ${SPIDIR}${FS}src${FS}tznp8013086.java
 124 ${COMPILEJAVA}${FS}bin${FS}jar ${TESTTOOLVMOPTS} cvf ${SPIDIR}${FS}tznp.jar -C ${SPIDIR}${FS}dest .
 125 
 126 # get the platform default locales
 127 PLATDEF=`${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale display`
 128 DEFLANG=`echo ${PLATDEF} | sed -e "s/,.*//"`
 129 DEFCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"`
 130 echo "DEFLANG=${DEFLANG}"
 131 echo "DEFCTRY=${DEFCTRY}"
 132 PLATDEF=`${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} LocaleProviders getPlatformLocale format`
 133 DEFFMTLANG=`echo ${PLATDEF} | sed -e "s/,.*//"`
 134 DEFFMTCTRY=`echo ${PLATDEF} | sed -e "s/.*,//"`
 135 echo "DEFFMTLANG=${DEFFMTLANG}"
 136 echo "DEFFMTCTRY=${DEFFMTCTRY}"
 137 
 138 runTest()
 139 {
 140     RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} -Djava.locale.providers=$PREFLIST LocaleProviders $METHODNAME $PARAM1 $PARAM2 $PARAM3"
 141     echo ${RUNCMD}
 142     ${RUNCMD}
 143     result=$?


 275 
 276 # testing 8001440 fix.
 277 METHODNAME=bug8001440Test
 278 PREFLIST=CLDR
 279 PARAM1=
 280 PARAM2=
 281 PARAM3=
 282 runTest
 283 
 284 # testing 8010666 fix.
 285 if [ "${DEFLANG}" = "en" ]
 286 then
 287   METHODNAME=bug8010666Test
 288   PREFLIST=HOST
 289   PARAM1=
 290   PARAM2=
 291   PARAM3=
 292   runTest
 293 fi
 294 
 295 # testing 8013086 fix.
 296 METHODNAME=bug8013086Test
 297 PREFLIST="JRE,SPI -Djava.ext.dirs=${SPIDIR}"
 298 PARAM1=ja
 299 PARAM2=JP
 300 PARAM3=
 301 runTest
 302 
 303 exit $result