1#
2# Copyright (c) 2014, 2017, 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 8173423
26# @summary Test for jdk.calendar.japanese.supplemental.era support
27# @build SupplementalJapaneseEraTest
28# @run shell SupplementalJapaneseEraTest.sh
29
30PROPERTY=jdk.calendar.japanese.supplemental.era
31STATUS=0
32
33# get the start time of the fictional next era
34SINCE=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -s`
35
36echo "Tests with valid property values..."
37for P in "name=NewEra,abbr=N.E.,since=$SINCE" \
38         "name = NewEra, abbr = N.E., since = $SINCE"
39do
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
47done
48
49# get the name of the current era to be used to confirm that
50# invalid property values are ignored.
51ERA=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -e`
52
53echo "Tests with invalid property values..."
54for 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
65do
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
73done
74exit $STATUS
75