e2a0ff3e0d
Reviewed-by: alanb, ksrini, henryjen, sundar
90 lines
2.9 KiB
Bash
90 lines
2.9 KiB
Bash
#
|
|
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
#
|
|
# This code is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License version 2 only, as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# version 2 for more details (a copy is included in the LICENSE file that
|
|
# accompanied this code).
|
|
#
|
|
# You should have received a copy of the GNU General Public License version
|
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
# or visit www.oracle.com if you need additional information or have any
|
|
# questions.
|
|
#
|
|
|
|
# @test
|
|
# @bug 8044767 8139067
|
|
# @summary Basic test case for ResourceBundle with modules;
|
|
# ResourceBundle.getBundle caller is in module named "test",
|
|
# resource bundles are grouped in main (module "mainbundles"),
|
|
# EU (module "eubundles"), and Asia (module "asiabundles").
|
|
# Also adds a jar file containing resource bundles to the class path.
|
|
|
|
set -e
|
|
|
|
if [ -z "$TESTJAVA" ]; then
|
|
if [ $# -lt 1 ]; then exit 1; fi
|
|
TESTJAVA="$1"; shift
|
|
COMPILEJAVA="${TESTJAVA}"
|
|
TESTSRC="`pwd`"
|
|
TESTCLASSES="`pwd`"
|
|
fi
|
|
|
|
JAVAC="$COMPILEJAVA/bin/javac"
|
|
JAR="$COMPILEJAVA/bin/jar"
|
|
JAVA="$TESTJAVA/bin/java"
|
|
|
|
rm -rf mods
|
|
|
|
CP=
|
|
for I in main eu asia
|
|
do
|
|
B=${I}bundles
|
|
mkdir -p mods/$B
|
|
CLASSES="`find $TESTSRC/src/$B -name '*.java'`"
|
|
if [ "x$CLASSES" != x ]; then
|
|
$JAVAC -g -d mods --module-source-path $TESTSRC/src $CP $CLASSES
|
|
fi
|
|
PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`"
|
|
if [ "x$PROPS" != x ]; then
|
|
for P in $PROPS
|
|
do
|
|
D=`dirname $P`
|
|
mkdir -p mods/$B/$D
|
|
cp $TESTSRC/src/$B/$P mods/$B/$D/
|
|
done
|
|
fi
|
|
CP="-cp mods/mainbundles"
|
|
done
|
|
|
|
mkdir -p mods/test
|
|
$JAVAC -g -cp mods/mainbundles -d mods --module-source-path $TESTSRC/src \
|
|
`find $TESTSRC/src/test -name "*.java"`
|
|
|
|
# Create a jar to be added to the class path. Expected only properties files are
|
|
# picked up from the class path.
|
|
rm -f extra.jar
|
|
mkdir -p classes
|
|
$JAVAC -d classes $TESTSRC/src/extra/jdk/test/resources/eu/*.java
|
|
$JAR -cf extra.jar -C classes jdk/test/resources/eu \
|
|
-C $TESTSRC/src/extra jdk/test/resources/asia
|
|
|
|
STATUS=0
|
|
|
|
echo "jdk.test.Main should load bundles using ResourceBundleProviders."
|
|
$JAVA -p mods -m test/jdk.test.Main de fr ja ja-jp zh-tw en de ja-jp || STATUS=1
|
|
|
|
echo "jdk.test.Main should NOT load bundles from the jar file specified by the class-path."
|
|
$JAVA -cp extra.jar -p mods -m test/jdk.test.Main es vi && STATUS=1
|
|
|
|
exit $STATUS
|