Compare commits

...

7 Commits
903 ... 911

Author SHA1 Message Date
Vitaly Provodin
79260bc482 JBR-2291 remove dubbled lines in release file 2020-05-10 18:31:00 +07:00
Vitaly Provodin
e03fb4aac0 JBR-2291 add vendor info into bundles 2020-05-08 16:39:27 +07:00
Vitaly Provodin
c5ec83e083 updated JTreg exclude list 2020-05-07 14:12:51 +07:00
Elena Sayapina
264802cf4b IDEA-165950 [TESTUPDATE] National keyboard layouts support
Update regression test after the following commits:

02fad83c: Remove public constants from KeyEvent
f4227faf: Impossible to assign cmd+ß shortcuts
2020-05-07 01:04:36 +07:00
Denis Konoplev
16ca839ed3 JBR-2347: Free memory on other exceptions, rethrow ThreadDead & log it 2020-05-06 20:34:28 +03:00
Denis Konoplev
afb3303db5 JBR-2347: Don't free memory when thread is dead 2020-05-06 15:17:45 +03:00
Denis Konoplev
9f77b65a52 Remove duplicate option from README 2020-04-30 15:42:01 +03:00
17 changed files with 167 additions and 84 deletions

View File

@@ -75,7 +75,7 @@ First command will set env vars, the second will run cygwin shell with proper en
In cygwin shell
```
cd JetBrainsRuntime
bash configure --enable-option-checking=fatal --enable-option-checking=fatal --with-toolchain-version=2015 --with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
bash configure --enable-option-checking=fatal --with-toolchain-version=2015 --with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
make images
```

View File

@@ -0,0 +1,3 @@
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
[ -z ${bundle_type} ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"

View File

@@ -21,16 +21,22 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-normal-server-release || exit $?
make images CONF=linux-aarch64-normal-server-release test-image || exit $?
@@ -47,6 +53,9 @@ rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?

View File

@@ -21,6 +21,9 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
@@ -79,6 +82,8 @@ esac
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
@@ -104,6 +109,9 @@ if [[ "$bundle_type" == *jcef* ]]; then
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?

View File

@@ -21,14 +21,21 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-x86_64-normal-server-fastdebug || exit $?
@@ -47,6 +54,9 @@ cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?

View File

@@ -21,14 +21,20 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
linux32 bash configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-boot-jdk=/jbrsdk-11.0.5-b1 \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-normal-server-release || exit $?
@@ -46,6 +52,9 @@ rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?

View File

@@ -21,6 +21,9 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
@@ -86,6 +89,8 @@ esac
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
@@ -103,7 +108,6 @@ JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
@@ -111,6 +115,8 @@ if [[ "$bundle_type" == *jcef* ]]; then
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \

View File

@@ -21,14 +21,20 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || exit $?
@@ -48,7 +54,9 @@ cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 \
tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
@@ -76,7 +84,6 @@ grep -v "^JAVA_VERSION" $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/release | grep -v
cp -R $BASE_DIR/$JBRSDK_BUNDLE/Contents/MacOS $JRE_CONTENTS
cp $BASE_DIR/$JBRSDK_BUNDLE/Contents/Info.plist $JRE_CONTENTS
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
echo Creating $JBR.tar.gz ...

View File

@@ -21,6 +21,9 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
@@ -45,7 +48,7 @@ function create_jbr {
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
@@ -68,6 +71,8 @@ PATH="/usr/local/bin:/usr/bin:${PATH}"
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=64 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
@@ -92,6 +97,8 @@ JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr_${bundle_type}
create_jbr ${bundle_type}

View File

@@ -21,6 +21,10 @@ JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
@@ -29,6 +33,8 @@ PATH="/usr/local/bin:/usr/bin:${PATH}"
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=32 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
@@ -45,6 +51,8 @@ JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
@@ -54,4 +62,4 @@ ${JSDK}/bin/jlink \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release
#grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release

View File

@@ -735,15 +735,18 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
}
dispatchEvent(ev);
// free event data if XGetEventData was called
XlibWrapper.XFreeEventData(getDisplay(), ev.pData);
} catch (ThreadDeath td) {
XBaseWindow.ungrabInput();
return;
processException(td);
throw td;
} catch (Throwable thr) {
XBaseWindow.ungrabInput();
processException(thr);
} finally {
// free event data if XGetEventData was called
// In case of ThreadDeath thread is still alive in finally block so we have to duplicate freeing
XlibWrapper.XFreeEventData(getDisplay(), ev.pData);
} finally {
awtUnlock();
}
}

View File

@@ -42,6 +42,7 @@ applications/jcstress/acqrel/Test.java - generic-all
# :hotspot_compiler
compiler/aot/cli/jaotc/AtFileTest.java JBR-2365 windows-all
compiler/ciReplay/TestSAServer.java 8029528 generic-all
compiler/codecache/stress/OverloadCompileQueueTest.java 8166554 generic-all
compiler/codegen/Test6896617.java 8193479 generic-all

View File

@@ -17,6 +17,9 @@
import java.awt.event.KeyEvent;
import java.util.HashMap;
import static java.awt.event.KeyEvent.*;
import static sun.awt.event.KeyEvent.*; /* comment this line to compile with jbrsdk8 */
/*
* Class containing common key functionality
*/
@@ -93,40 +96,41 @@ public class Key {
private static final HashMap<Character, Integer> latinKeyCodesMap = new HashMap<Character, Integer>() {
{
// Please see:
// jbruntime/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
// jbruntime/src/java.desktop/share/classes/sun/awt/event/KeyEvent.java
put((char) 0x00E0, KeyEvent.VK_A_WITH_GRAVE);
put((char) 0x00E1, KeyEvent.VK_A_WITH_ACUTE);
put((char) 0x00E2, KeyEvent.VK_A_WITH_CIRCUMFLEX);
put((char) 0x00E3, KeyEvent.VK_A_WITH_TILDE);
put((char) 0x00E4, KeyEvent.VK_A_WITH_DIAERESIS);
put((char) 0x00E5, KeyEvent.VK_A_WITH_RING_ABOVE);
put((char) 0x00E6, KeyEvent.VK_AE);
put((char) 0x00E7, KeyEvent.VK_C_WITH_CEDILLA);
put((char) 0x00E8, KeyEvent.VK_E_WITH_GRAVE);
put((char) 0x00E9, KeyEvent.VK_E_WITH_ACUTE);
put((char) 0x00EA, KeyEvent.VK_E_WITH_CIRCUMFLEX);
put((char) 0x00EB, KeyEvent.VK_E_WITH_DIAERESIS);
put((char) 0x00EC, KeyEvent.VK_I_WITH_GRAVE);
put((char) 0x00ED, KeyEvent.VK_I_WITH_GRAVE);
put((char) 0x00EE, KeyEvent.VK_I_WITH_CIRCUMFLEX);
put((char) 0x00EF, KeyEvent.VK_I_WITH_DIAERESIS);
put((char) 0x00F0, KeyEvent.VK_ETH);
put((char) 0x00F1, KeyEvent.VK_N_WITH_TILDE);
put((char) 0x00F2, KeyEvent.VK_O_WITH_GRAVE);
put((char) 0x00F3, KeyEvent.VK_O_WITH_ACUTE);
put((char) 0x00F4, KeyEvent.VK_O_WITH_CIRCUMFLEX);
put((char) 0x00F5, KeyEvent.VK_O_WITH_TILDE);
put((char) 0x00F6, KeyEvent.VK_O_WITH_DIAERESIS);
put((char) 0x00F7, KeyEvent.VK_DIVISION_SIGN);
put((char) 0x00F8, KeyEvent.VK_O_WITH_SLASH);
put((char) 0x00F9, KeyEvent.VK_U_WITH_GRAVE);
put((char) 0x00FA, KeyEvent.VK_U_WITH_ACUTE);
put((char) 0x00FB, KeyEvent.VK_U_WITH_CIRCUMFLEX);
put((char) 0x00FC, KeyEvent.VK_U_WITH_DIAERESIS);
put((char) 0x00FD, KeyEvent.VK_Y_WITH_ACUTE);
put((char) 0x00FE, KeyEvent.VK_THORN);
put((char) 0x00FF, KeyEvent.VK_Y_WITH_DIAERESIS);
put((char) 0x00DF, VK_ESZETT);
put((char) 0x00E0, VK_A_WITH_GRAVE);
put((char) 0x00E1, VK_A_WITH_ACUTE);
put((char) 0x00E2, VK_A_WITH_CIRCUMFLEX);
put((char) 0x00E3, VK_A_WITH_TILDE);
put((char) 0x00E4, VK_A_WITH_DIAERESIS);
put((char) 0x00E5, VK_A_WITH_RING_ABOVE);
put((char) 0x00E6, VK_AE);
put((char) 0x00E7, VK_C_WITH_CEDILLA);
put((char) 0x00E8, VK_E_WITH_GRAVE);
put((char) 0x00E9, VK_E_WITH_ACUTE);
put((char) 0x00EA, VK_E_WITH_CIRCUMFLEX);
put((char) 0x00EB, VK_E_WITH_DIAERESIS);
put((char) 0x00EC, VK_I_WITH_GRAVE);
put((char) 0x00ED, VK_I_WITH_GRAVE);
put((char) 0x00EE, VK_I_WITH_CIRCUMFLEX);
put((char) 0x00EF, VK_I_WITH_DIAERESIS);
put((char) 0x00F0, VK_ETH);
put((char) 0x00F1, VK_N_WITH_TILDE);
put((char) 0x00F2, VK_O_WITH_GRAVE);
put((char) 0x00F3, VK_O_WITH_ACUTE);
put((char) 0x00F4, VK_O_WITH_CIRCUMFLEX);
put((char) 0x00F5, VK_O_WITH_TILDE);
put((char) 0x00F6, VK_O_WITH_DIAERESIS);
put((char) 0x00F7, VK_DIVISION_SIGN);
put((char) 0x00F8, VK_O_WITH_SLASH);
put((char) 0x00F9, VK_U_WITH_GRAVE);
put((char) 0x00FA, VK_U_WITH_ACUTE);
put((char) 0x00FB, VK_U_WITH_CIRCUMFLEX);
put((char) 0x00FC, VK_U_WITH_DIAERESIS);
put((char) 0x00FD, VK_Y_WITH_ACUTE);
put((char) 0x00FE, VK_THORN);
put((char) 0x00FF, VK_Y_WITH_DIAERESIS);
}
};
@@ -137,30 +141,30 @@ public class Key {
// jbruntime/src/java.desktop/windows/native/libawt/windows/awt_Component.cpp
// jbruntime/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m
put((char) 0x02D9, KeyEvent.VK_DEAD_ABOVEDOT);
put((char) 0x02DA, KeyEvent.VK_DEAD_ABOVERING);
put((char) 0x00B4, KeyEvent.VK_DEAD_ACUTE); // ACUTE ACCENT
put((char) 0x0384, KeyEvent.VK_DEAD_ACUTE); // GREEK TONOS
// TODO Should test map ' to acute as sometimes it may add either acute or cedilla to the next key
//put((char) 0x0027 /* ' */, KeyEvent.VK_DEAD_ACUTE); // APOSTROPHE
put((char) 0x02D8, KeyEvent.VK_DEAD_BREVE);
put((char) 0x02C7, KeyEvent.VK_DEAD_CARON);
put((char) 0x00B8, KeyEvent.VK_DEAD_CEDILLA); // CEDILLA
put((char) 0x002C /* , */, KeyEvent.VK_DEAD_CEDILLA); // COMMA
put((char) 0x02C6, KeyEvent.VK_DEAD_CIRCUMFLEX); // MODIFIER LETTER CIRCUMFLEX ACCENT
put((char) 0x005E, KeyEvent.VK_DEAD_CIRCUMFLEX); // CIRCUMFLEX ACCENT
put((char) 0x00A8, KeyEvent.VK_DEAD_DIAERESIS); // DIAERESIS
put((char) 0x0022 /* " */, KeyEvent.VK_DEAD_DIAERESIS); // QUOTATION MARK
put((char) 0x02DD, KeyEvent.VK_DEAD_DOUBLEACUTE);
put((char) 0x0060, KeyEvent.VK_DEAD_GRAVE);
put((char) 0x037A, KeyEvent.VK_DEAD_IOTA);
put((char) 0x02C9, KeyEvent.VK_DEAD_MACRON); // MODIFIER LETTER MACRON
put((char) 0x00AF, KeyEvent.VK_DEAD_MACRON); // MACRON
put((char) 0x02DB, KeyEvent.VK_DEAD_OGONEK);
put((char) 0x02DC, KeyEvent.VK_DEAD_TILDE); // SMALL TILDE
put((char) 0x007E, KeyEvent.VK_DEAD_TILDE); // TILDE
put((char) 0x309B, KeyEvent.VK_DEAD_VOICED_SOUND);
put((char) 0x309C, KeyEvent.VK_DEAD_SEMIVOICED_SOUND);
put((char) 0x02D9, VK_DEAD_ABOVEDOT);
put((char) 0x02DA, VK_DEAD_ABOVERING);
put((char) 0x00B4, VK_DEAD_ACUTE); // ACUTE ACCENT
put((char) 0x0384, VK_DEAD_ACUTE); // GREEK TONOS
// TODO No corresponding VK_DEAD constant for this key as it may add either acute or cedilla to the next key
//put((char) 0x0027 /* ' */, VK_DEAD_QUOTE); // APOSTROPHE, QUOTE
put((char) 0x02D8, VK_DEAD_BREVE);
put((char) 0x02C7, VK_DEAD_CARON);
put((char) 0x00B8, VK_DEAD_CEDILLA); // CEDILLA
put((char) 0x002C /* , */, VK_DEAD_CEDILLA); // COMMA
put((char) 0x02C6, VK_DEAD_CIRCUMFLEX); // MODIFIER LETTER CIRCUMFLEX ACCENT
put((char) 0x005E, VK_DEAD_CIRCUMFLEX); // CIRCUMFLEX ACCENT
put((char) 0x00A8, VK_DEAD_DIAERESIS); // DIAERESIS
put((char) 0x0022 /* " */, VK_DEAD_DIAERESIS); // QUOTATION MARK
put((char) 0x02DD, VK_DEAD_DOUBLEACUTE);
put((char) 0x0060, VK_DEAD_GRAVE);
put((char) 0x037A, VK_DEAD_IOTA);
put((char) 0x02C9, VK_DEAD_MACRON); // MODIFIER LETTER MACRON
put((char) 0x00AF, VK_DEAD_MACRON); // MACRON
put((char) 0x02DB, VK_DEAD_OGONEK);
put((char) 0x02DC, VK_DEAD_TILDE); // SMALL TILDE
put((char) 0x007E, VK_DEAD_TILDE); // TILDE
put((char) 0x309B, VK_DEAD_VOICED_SOUND);
put((char) 0x309C, VK_DEAD_SEMIVOICED_SOUND);
}
};
}

View File

@@ -31,7 +31,7 @@ public enum Layout_ABC implements LayoutKey {
// Enum name must be the same as KeyEvent.VK_ constant name corresponding to the key on US keyboard layout
// Note that '\u0000' may be used if no char is mapped to a key + modifier or if one wants to skip its testing
// Robot cannot press section sign key (16777383),
// TODO Robot cannot press section sign key (16777383),
// located on the left side of the key 1 on the Apple International English keyboard
// SECTION ('§', '§', '±', '±'),

View File

@@ -52,7 +52,8 @@ import java.util.stream.Collectors;
*
* Test based on the following assumptions:
* TODO check if these assumptions are correct
* - Pressing "modifier + key" always generates "modifier key code + low registry key code" for any key and modifier.
* - Pressing "modifier + key" always generates
* "modifier key code + low registry key code" keyPressed events for any key and modifier.
* - No keyTyped event is expected as the result of pressing dead key + key.
* - Pressing "dead key + space" generates corresponding diacritic character,
* which may be obtained using inputMethodTextChanged event.
@@ -72,11 +73,14 @@ import java.util.stream.Collectors;
* Test may be run by any JRE, but in case of non-JBR, one needs to manually switch the keyboard layout during testing.
*
* Compilation:
* <javac-1.8.*> -bootclasspath <jbrsdk8>/Contents/Home/jre/lib/rt.jar:. NationalLayoutTest.java
* <javac-11.*> --add-exports java.desktop/sun.lwawt.macosx=ALL-UNNAMED NationalLayoutTest.java
*
* <javac-1.8.*> -bootclasspath <jbrsdk8>/Contents/Home/jre/lib/rt.jar \
* ./test/jdk/jb/sun/awt/macos/NationalLayoutTest/*.java
* <javac-11.*> --add-exports java.desktop/sun.awt.event=ALL-UNNAMED \
* --add-exports java.desktop/sun.lwawt.macosx=ALL-UNNAMED \
* test/jdk/jb/sun/awt/macos/NationalLayoutTest/*.java
* Usage:
* <java> NationalLayoutTest [manual] [layout1] [layout2] ... , where layoutN is one of the existing Layout enum values
* <java> -cp test/jdk/jb/sun/awt/macos/NationalLayoutTest NationalLayoutTest [manual] [layout1] [layout2] ... ,
* where layoutN is one of the existing Layout enum values
*
* Examples:
* > java NationalLayoutTest
@@ -136,7 +140,9 @@ public class NationalLayoutTest {
try {
layoutList.add(Layout.valueOf(arg));
} catch (IllegalArgumentException e) {
throw new RuntimeException("ERROR: Unexpected argument: " + arg);
throw new RuntimeException("ERROR: Unexpected argument: " + arg + "\n"
+ "Possible test arguments are: " + MANUAL + ", "
+ Arrays.stream(Layout.values()).map(Enum::name).collect(Collectors.joining(", ")));
}
}
}
@@ -222,6 +228,8 @@ public class NationalLayoutTest {
// Add listeners to track keyboard events
typeArea.addFocusListener(typeAreaFocusListener);
// TODO Currently dead key presses do not gererate corresponding keyPressed events to TextComponents,
// but such events are generated normally for Frames or other non-text Components
typeArea.addKeyListener(keyListener);
typeArea.addInputMethodListener(inputMethodListener);

View File

@@ -168,6 +168,7 @@ java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java
java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java 7124555 macosx-all,linux-all
java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java 6986252 macosx-all
java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html 8015886 macosx-all,linux-all
java/awt/Focus/DisposedWindow/DisposeDialogNotActivateOwnerTest/DisposeDialogNotActivateOwnerTest.java 8234332 linux-all
java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java 8081489 generic-all
java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html JRE-898 macosx-all,windows-all
java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java 8198619,8213522 macosx-all,linux-all,windows-all
@@ -1038,7 +1039,7 @@ javax/swing/text/DefaultEditorKit/4278839/bug4278839.java
javax/swing/text/DevanagariEditor.java 8198397 generic-all
javax/swing/text/GlyphPainter2/6427244/bug6427244.java 8050988 generic-all
javax/swing/text/JTextComponent/5074573/bug5074573.java 7153690,8196100,8196100,8072110 macosx-all,windows-all,linux-all
javax/swing/text/JTextComponent/6361367/bug6361367.java 8233569 macosx-all
javax/swing/text/JTextComponent/6361367/bug6361367.java 8233569 macosx-all,windows-all
javax/swing/text/StyledEditorKit/4506788/bug4506788.java 8214220,8172887 macosx-all,windows-all,linux-all
javax/swing/text/StyledEditorKit/8016833/bug8016833.java 8199055 generic-all
javax/swing/text/TableView/TableViewLayoutTest.java 8194936 linux-all

View File

@@ -21,7 +21,6 @@ java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
java/awt/FileDialog/ModalFocus/FileDialogModalFocusTest.java nobug linux-all,windows-all
java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java nobug macosx-all,linux-all,windows-all
java/awt/Focus/ContainerFocusAutoTransferTest/ContainerFocusAutoTransferTest.java nobug macosx-all
java/awt/Focus/DisposedWindow/DisposeDialogNotActivateOwnerTest/DisposeDialogNotActivateOwnerTest.java nobug macosx-all
java/awt/Focus/FocusEmbeddedFrameTest/FocusEmbeddedFrameTest.java nobug windows-all
java/awt/Focus/FocusTransitionTest/FocusTransitionTest.java nobug macosx-all,windows-all
java/awt/Focus/InputVerifierTest3/InputVerifierTest3.java nobug macosx-all