1 #
   2 # Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   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 
  24 # @test
  25 # @bug 8048123 8054214
  26 # @summary Test for jdk.calendar.japanese.supplemental.era support
  27 # @build SupplementalJapaneseEraTest
  28 # @run shell SupplementalJapaneseEraTest.sh
  29 
  30 PROPERTY=jdk.calendar.japanese.supplemental.era
  31 STATUS=0
  32 
  33 # get the start time of the fictional next era
  34 SINCE=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -s`
  35 
  36 echo "Tests with valid property values..."
  37 for P in "name=NewEra,abbr=N.E.,since=$SINCE" \
  38          "name = NewEra, abbr = N.E., since = $SINCE"
  39 do
  40     if ${TESTJAVA}/bin/java ${TESTVMOPTS} -cp "${TESTCLASSES}" \
  41            -D$PROPERTY="$P" SupplementalJapaneseEraTest -t; then
  42         echo "$P: passed"
  43     else
  44         echo "$P: failed"
  45         STATUS=1
  46     fi
  47 done
  48 
  49 # get the name of the current era to be used to confirm that
  50 # invalid property values are ignored.
  51 ERA=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -e`
  52 
  53 echo "Tests with invalid property values..."
  54 for P in "foo=Bar,name=NewEra,abbr=N.E.,since=$SINCE" \
  55          "=NewEra,abbr=N.E.,since=$SINCE" \
  56          "=,abbr=N.E.,since=$SINCE" \
  57          "name,abbr=N.E.,since=$SINCE" \
  58          "abbr=N.E.,since=$SINCE" \
  59          "name=NewEra,since=$SINCE" \
  60          "name=,abbr=N.E.,since=$SINCE" \
  61          "name=NewEra,abbr=,since=$SINCE" \
  62          "name=NewEra,abbr=N.E." \
  63          "name=NewEra,abbr=N.E.,since=0" \
  64          "name=NewEra,abbr=N.E.,since=9223372036854775808" # Long.MAX_VALUE+1
  65 do
  66     if ${TESTJAVA}/bin/java ${TESTVMOPTS} -cp "${TESTCLASSES}" \
  67            -D$PROPERTY="$P" SupplementalJapaneseEraTest -b "$ERA"; then
  68         echo "$P: passed"
  69     else
  70         echo "$P: failed"
  71         STATUS=1
  72     fi
  73 done
  74 exit $STATUS