Test 3 (locale test) converted.
This commit is contained in:
parent
017b6a1624
commit
1f9e6eb439
155
RunTest
155
RunTest
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
title1="Test 1: Main functionality (Compatible with Perl >= 5.10)"
|
title1="Test 1: Main functionality (Compatible with Perl >= 5.10)"
|
||||||
title2="Test 2: API, errors, internals, and non-Perl stuff"
|
title2="Test 2: API, errors, internals, and non-Perl stuff"
|
||||||
#title3="Test 3: Locale-specific features"
|
title3="Test 3: Locale-specific features"
|
||||||
#title4A="Test 4: UTF"
|
#title4A="Test 4: UTF"
|
||||||
#title4B=" support (Compatible with Perl >= 5.10)"
|
#title4B=" support (Compatible with Perl >= 5.10)"
|
||||||
#title5="Test 5: API, internals, and non-Perl stuff for UTF"
|
#title5="Test 5: API, internals, and non-Perl stuff for UTF"
|
||||||
|
@ -81,7 +81,7 @@ maxtest=2
|
||||||
if [ $# -eq 1 -a "$1" = "list" ]; then
|
if [ $# -eq 1 -a "$1" = "list" ]; then
|
||||||
echo $title1
|
echo $title1
|
||||||
echo $title2 "(not UTF)"
|
echo $title2 "(not UTF)"
|
||||||
# echo $title3
|
echo $title3
|
||||||
# echo $title4A $title4B
|
# echo $title4A $title4B
|
||||||
# echo $title5 support
|
# echo $title5 support
|
||||||
# echo $title6
|
# echo $title6
|
||||||
|
@ -174,7 +174,7 @@ unset cp ls mv rm
|
||||||
|
|
||||||
do1=no
|
do1=no
|
||||||
do2=no
|
do2=no
|
||||||
#do3=no
|
do3=no
|
||||||
#do4=no
|
#do4=no
|
||||||
#do5=no
|
#do5=no
|
||||||
#do6=no
|
#do6=no
|
||||||
|
@ -203,7 +203,7 @@ while [ $# -gt 0 ] ; do
|
||||||
case $1 in
|
case $1 in
|
||||||
1) do1=yes;;
|
1) do1=yes;;
|
||||||
2) do2=yes;;
|
2) do2=yes;;
|
||||||
# 3) do3=yes;;
|
3) do3=yes;;
|
||||||
# 4) do4=yes;;
|
# 4) do4=yes;;
|
||||||
# 5) do5=yes;;
|
# 5) do5=yes;;
|
||||||
# 6) do6=yes;;
|
# 6) do6=yes;;
|
||||||
|
@ -346,8 +346,8 @@ fi
|
||||||
# If no specific tests were requested, select all. Those that are not
|
# If no specific tests were requested, select all. Those that are not
|
||||||
# relevant will be automatically skipped.
|
# relevant will be automatically skipped.
|
||||||
|
|
||||||
if [ $do1 = no -a $do2 = no ]; then
|
if [ $do1 = no -a $do2 = no -a $do3 = no ]; then
|
||||||
# -a $do3 = no -a $do4 = no -a \
|
# -a $do4 = no -a \
|
||||||
# $do5 = no -a $do6 = no -a $do7 = no -a $do8 = no -a \
|
# $do5 = no -a $do6 = no -a $do7 = no -a $do8 = no -a \
|
||||||
# $do9 = no -a $do10 = no -a $do11 = no -a $do12 = no -a \
|
# $do9 = no -a $do10 = no -a $do11 = no -a $do12 = no -a \
|
||||||
# $do13 = no -a $do14 = no -a $do15 = no -a $do16 = no -a \
|
# $do13 = no -a $do14 = no -a $do15 = no -a $do16 = no -a \
|
||||||
|
@ -357,7 +357,7 @@ if [ $do1 = no -a $do2 = no ]; then
|
||||||
|
|
||||||
do1=yes
|
do1=yes
|
||||||
do2=yes
|
do2=yes
|
||||||
# do3=yes
|
do3=yes
|
||||||
# do4=yes
|
# do4=yes
|
||||||
# do5=yes
|
# do5=yes
|
||||||
# do6=yes
|
# do6=yes
|
||||||
|
@ -446,77 +446,76 @@ if [ $do2 = yes ] ; then
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Locale-specific tests, provided that either the "fr_FR" or the "french"
|
# Locale-specific tests, provided that either the "fr_FR" or the "french"
|
||||||
## locale is available. The former is the Unix-like standard; the latter is
|
# locale is available. The former is the Unix-like standard; the latter is
|
||||||
## for Windows. Another possibility is "fr". Unfortunately, different versions
|
# for Windows. Another possibility is "fr". Unfortunately, different versions
|
||||||
## of the French locale give different outputs for some items. This test passes
|
# of the French locale give different outputs for some items. This test passes
|
||||||
## if the output matches any one of the alternative output files.
|
# if the output matches any one of the alternative output files.
|
||||||
#
|
|
||||||
#if [ $do3 = yes ] ; then
|
if [ $do3 = yes ] ; then
|
||||||
# locale -a | grep '^fr_FR$' >/dev/null
|
locale -a | grep '^fr_FR$' >/dev/null
|
||||||
# if [ $? -eq 0 ] ; then
|
if [ $? -eq 0 ] ; then
|
||||||
# locale=fr_FR
|
locale=fr_FR
|
||||||
# infile=$testdata/testinput3
|
infile=$testdata/testinput3
|
||||||
# outfile=$testdata/testoutput3
|
outfile=$testdata/testoutput3
|
||||||
# outfile2=$testdata/testoutput3A
|
outfile2=$testdata/testoutput3A
|
||||||
# outfile3=$testdata/testoutput3B
|
outfile3=$testdata/testoutput3B
|
||||||
# else
|
else
|
||||||
# infile=test3input
|
infile=test3input
|
||||||
# outfile=test3output
|
outfile=test3output
|
||||||
# outfile2=test3outputA
|
outfile2=test3outputA
|
||||||
# outfile3=test3outputB
|
outfile3=test3outputB
|
||||||
# locale -a | grep '^french$' >/dev/null
|
locale -a | grep '^french$' >/dev/null
|
||||||
# if [ $? -eq 0 ] ; then
|
if [ $? -eq 0 ] ; then
|
||||||
# locale=french
|
locale=french
|
||||||
# sed 's/fr_FR/french/' $testdata/testinput3 >test3input
|
sed 's/fr_FR/french/' $testdata/testinput3 >test3input
|
||||||
# sed 's/fr_FR/french/' $testdata/testoutput3 >test3output
|
sed 's/fr_FR/french/' $testdata/testoutput3 >test3output
|
||||||
# sed 's/fr_FR/french/' $testdata/testoutput3A >test3outputA
|
sed 's/fr_FR/french/' $testdata/testoutput3A >test3outputA
|
||||||
# sed 's/fr_FR/french/' $testdata/testoutput3B >test3outputB
|
sed 's/fr_FR/french/' $testdata/testoutput3B >test3outputB
|
||||||
# else
|
else
|
||||||
# locale -a | grep '^fr$' >/dev/null
|
locale -a | grep '^fr$' >/dev/null
|
||||||
# if [ $? -eq 0 ] ; then
|
if [ $? -eq 0 ] ; then
|
||||||
# locale=fr
|
locale=fr
|
||||||
# sed 's/fr_FR/fr/' $testdata/intestinput3 >test3input
|
sed 's/fr_FR/fr/' $testdata/intestinput3 >test3input
|
||||||
# sed 's/fr_FR/fr/' $testdata/intestoutput3 >test3output
|
sed 's/fr_FR/fr/' $testdata/intestoutput3 >test3output
|
||||||
# sed 's/fr_FR/fr/' $testdata/intestoutput3A >test3outputA
|
sed 's/fr_FR/fr/' $testdata/intestoutput3A >test3outputA
|
||||||
# sed 's/fr_FR/fr/' $testdata/intestoutput3B >test3outputB
|
sed 's/fr_FR/fr/' $testdata/intestoutput3B >test3outputB
|
||||||
# else
|
else
|
||||||
# locale=
|
locale=
|
||||||
# fi
|
fi
|
||||||
# fi
|
fi
|
||||||
# fi
|
fi
|
||||||
#
|
|
||||||
# if [ "$locale" != "" ] ; then
|
if [ "$locale" != "" ] ; then
|
||||||
# echo $title3 "(using '$locale' locale)"
|
echo $title3 "(using '$locale' locale)"
|
||||||
# for opt in "" "-s" $jitopt; do
|
for opt in "" $jitopt; do
|
||||||
# $sim $valgrind ./pcre2test -q $bmode $opt $infile testtry
|
$sim $valgrind ./pcre2test -q $bmode $opt $infile testtry
|
||||||
# if [ $? = 0 ] ; then
|
if [ $? = 0 ] ; then
|
||||||
# if $cf $outfile testtry >teststdout || \
|
if $cf $outfile testtry >teststdout || \
|
||||||
# $cf $outfile2 testtry >teststdout || \
|
$cf $outfile2 testtry >teststdout || \
|
||||||
# $cf $outfile3 testtry >teststdout
|
$cf $outfile3 testtry >teststdout
|
||||||
# then
|
then
|
||||||
# if [ "$opt" = "-s" ] ; then echo " OK with study"
|
if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
|
||||||
# elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
|
else echo " OK"
|
||||||
# else echo " OK"
|
fi
|
||||||
# fi
|
else
|
||||||
# else
|
echo "** Locale test did not run successfully. The output did not match"
|
||||||
# echo "** Locale test did not run successfully. The output did not match"
|
echo " $outfile, $outfile2 or $outfile3."
|
||||||
# echo " $outfile, $outfile2 or $outfile3."
|
echo " This may mean that there is a problem with the locale settings rather"
|
||||||
# echo " This may mean that there is a problem with the locale settings rather"
|
echo " than a bug in PCRE2."
|
||||||
# echo " than a bug in PCRE."
|
exit 1
|
||||||
# exit 1
|
fi
|
||||||
# fi
|
else exit 1
|
||||||
# else exit 1
|
fi
|
||||||
# fi
|
done
|
||||||
# done
|
else
|
||||||
# else
|
echo "Cannot test locale-specific features - none of the 'fr_FR', 'fr' or"
|
||||||
# echo "Cannot test locale-specific features - none of the 'fr_FR', 'fr' or"
|
echo "'french' locales exist, or the \"locale\" command is not available"
|
||||||
# echo "'french' locales exist, or the \"locale\" command is not available"
|
echo "to check for them."
|
||||||
# echo "to check for them."
|
echo " "
|
||||||
# echo " "
|
fi
|
||||||
# fi
|
fi
|
||||||
#fi
|
|
||||||
#
|
|
||||||
## Additional tests for UTF support
|
## Additional tests for UTF support
|
||||||
#
|
#
|
||||||
#if [ $do4 = yes ] ; then
|
#if [ $do4 = yes ] ; then
|
||||||
|
|
|
@ -480,7 +480,7 @@ PCRE2_EXP_DECL void pcre2_jit_stack_free(pcre2_jit_stack *);
|
||||||
#define PCRE2_OTHER_FUNCTIONS \
|
#define PCRE2_OTHER_FUNCTIONS \
|
||||||
PCRE2_EXP_DECL int pcre2_get_error_message(int, PCRE2_UCHAR *, size_t); \
|
PCRE2_EXP_DECL int pcre2_get_error_message(int, PCRE2_UCHAR *, size_t); \
|
||||||
PCRE2_EXP_DECL \
|
PCRE2_EXP_DECL \
|
||||||
const unsigned char *pcre2_maketables(pcre2_general_context *); \
|
const uint8_t *pcre2_maketables(pcre2_general_context *); \
|
||||||
PCRE2_EXP_DECL int pcre2_pattern_to_host_byte_order(pcre2_code *);
|
PCRE2_EXP_DECL int pcre2_pattern_to_host_byte_order(pcre2_code *);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -480,7 +480,7 @@ PCRE2_EXP_DECL void pcre2_jit_stack_free(pcre2_jit_stack *);
|
||||||
#define PCRE2_OTHER_FUNCTIONS \
|
#define PCRE2_OTHER_FUNCTIONS \
|
||||||
PCRE2_EXP_DECL int pcre2_get_error_message(int, PCRE2_UCHAR *, size_t); \
|
PCRE2_EXP_DECL int pcre2_get_error_message(int, PCRE2_UCHAR *, size_t); \
|
||||||
PCRE2_EXP_DECL \
|
PCRE2_EXP_DECL \
|
||||||
const unsigned char *pcre2_maketables(pcre2_general_context *); \
|
const uint8_t *pcre2_maketables(pcre2_general_context *); \
|
||||||
PCRE2_EXP_DECL int pcre2_pattern_to_host_byte_order(pcre2_code *);
|
PCRE2_EXP_DECL int pcre2_pattern_to_host_byte_order(pcre2_code *);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,9 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* This module contains the external function pcre_maketables(), which builds
|
/* This module contains the external function pcre2_maketables(), which builds
|
||||||
character tables for PCRE in the current locale. The file is compiled on its
|
character tables for PCRE2 in the current locale. The file is compiled on its
|
||||||
own as part of the PCRE library. However, it is also included in the
|
own as part of the PCRE2 library. However, it is also included in the
|
||||||
compilation of dftables.c, in which case the macro DFTABLES is defined. */
|
compilation of dftables.c, in which case the macro DFTABLES is defined. */
|
||||||
|
|
||||||
#ifndef DFTABLES
|
#ifndef DFTABLES
|
||||||
|
@ -60,31 +60,26 @@ compilation of dftables.c, in which case the macro DFTABLES is defined. */
|
||||||
/* This function builds a set of character tables for use by PCRE2 and returns
|
/* This function builds a set of character tables for use by PCRE2 and returns
|
||||||
a pointer to them. They are build using the ctype functions, and consequently
|
a pointer to them. They are build using the ctype functions, and consequently
|
||||||
their contents will depend upon the current locale setting. When compiled as
|
their contents will depend upon the current locale setting. When compiled as
|
||||||
part of the library, the store is obtained via the context malloc, but when
|
part of the library, the store is obtained via a general context malloc, if
|
||||||
compiled inside dftables, use malloc().
|
supplied, but otherwise via malloc().
|
||||||
|
|
||||||
Arguments: a PCRE2 context (for malloc)
|
Arguments: a PCRE2 general context (for malloc) or NULL
|
||||||
Returns: pointer to the contiguous block of data
|
Returns: pointer to the contiguous block of data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* FIXME: temporarily a dummy, until pcre2_internal is complete. */
|
PCRE2_EXP_DEFN const uint8_t * PCRE2_CALL_CONVENTION
|
||||||
|
|
||||||
PCRE2_EXP_DEFN const unsigned char * PCRE2_CALL_CONVENTION
|
|
||||||
pcre2_maketables(pcre2_general_context *gcontext)
|
pcre2_maketables(pcre2_general_context *gcontext)
|
||||||
{
|
{
|
||||||
gcontext=gcontext;
|
uint8_t *yield, *p;
|
||||||
return NULL;
|
|
||||||
|
|
||||||
#ifdef NEVER
|
|
||||||
|
|
||||||
unsigned char *yield, *p;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifndef DFTABLES
|
#ifndef DFTABLES
|
||||||
yield = (unsigned char*)context->malloc(tables_length);
|
if (gcontext != NULL)
|
||||||
#else
|
yield = (uint8_t *)gcontext->memctl.malloc(tables_length,
|
||||||
yield = (unsigned char*)malloc(tables_length);
|
gcontext->memctl.memory_data);
|
||||||
|
else
|
||||||
#endif
|
#endif
|
||||||
|
yield = (uint8_t *)malloc(tables_length);
|
||||||
|
|
||||||
if (yield == NULL) return NULL;
|
if (yield == NULL) return NULL;
|
||||||
p = yield;
|
p = yield;
|
||||||
|
@ -151,8 +146,6 @@ for (i = 0; i < 256; i++)
|
||||||
}
|
}
|
||||||
|
|
||||||
return yield;
|
return yield;
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* End of pcre2_maketables.c */
|
/* End of pcre2_maketables.c */
|
||||||
|
|
|
@ -5270,6 +5270,7 @@ _setmode( _fileno( stdout ), _O_BINARY );
|
||||||
|
|
||||||
/* Initialization that does not depend on the running mode. */
|
/* Initialization that does not depend on the running mode. */
|
||||||
|
|
||||||
|
locale_name[0] = 0;
|
||||||
memset(&def_patctl, 0, sizeof(patctl));
|
memset(&def_patctl, 0, sizeof(patctl));
|
||||||
memset(&def_datctl, 0, sizeof(datctl));
|
memset(&def_datctl, 0, sizeof(datctl));
|
||||||
def_datctl.oveccount = DEFAULT_OVECCOUNT;
|
def_datctl.oveccount = DEFAULT_OVECCOUNT;
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
# This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||||
|
# It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||||
|
# be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||||
|
# different version of this file called wintestinput3 for use on Windows,
|
||||||
|
# where the locale is called "french" and the tests are run using
|
||||||
|
# RunTest.bat.
|
||||||
|
|
||||||
|
#forbid_utf
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
École
|
||||||
|
|
||||||
|
/^[\w]+/locale=fr_FR
|
||||||
|
École
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
École
|
||||||
|
|
||||||
|
/^[\W]+/
|
||||||
|
École
|
||||||
|
|
||||||
|
/^[\W]+/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
École
|
||||||
|
|
||||||
|
/[\b]/
|
||||||
|
\b
|
||||||
|
*** Failers
|
||||||
|
a
|
||||||
|
|
||||||
|
/[\b]/locale=fr_FR
|
||||||
|
\b
|
||||||
|
*** Failers
|
||||||
|
a
|
||||||
|
|
||||||
|
/^\w+/
|
||||||
|
*** Failers
|
||||||
|
École
|
||||||
|
|
||||||
|
/^\w+/locale=fr_FR
|
||||||
|
École
|
||||||
|
|
||||||
|
/(.+)\b(.+)/
|
||||||
|
École
|
||||||
|
|
||||||
|
/(.+)\b(.+)/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
École
|
||||||
|
|
||||||
|
/École/i
|
||||||
|
École
|
||||||
|
*** Failers
|
||||||
|
école
|
||||||
|
|
||||||
|
/École/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
école
|
||||||
|
|
||||||
|
/\w/I
|
||||||
|
|
||||||
|
/\w/I,locale=fr_FR
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
école
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/locale=fr_FR
|
||||||
|
École
|
||||||
|
*** Failers
|
||||||
|
école
|
||||||
|
|
||||||
|
/\W+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/[\W]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/[^[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/\w+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/[\w]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/[[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
>>>\xba<<<
|
||||||
|
|
||||||
|
/[[:alpha:]][[:lower:]][[:upper:]]/IB,locale=fr_FR
|
||||||
|
|
||||||
|
# End of testinput3
|
|
@ -0,0 +1,176 @@
|
||||||
|
# This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||||
|
# It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||||
|
# be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||||
|
# different version of this file called wintestinput3 for use on Windows,
|
||||||
|
# where the locale is called "french" and the tests are run using
|
||||||
|
# RunTest.bat.
|
||||||
|
|
||||||
|
#forbid_utf
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\w]+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\W]+/
|
||||||
|
École
|
||||||
|
0: \xc9
|
||||||
|
|
||||||
|
/^[\W]+/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: ***
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/locale=fr_FR
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/(.+)\b(.+)/
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
1: \xc9
|
||||||
|
2: cole
|
||||||
|
|
||||||
|
/(.+)\b(.+)/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: *** Failers
|
||||||
|
1: ***
|
||||||
|
2: Failers
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
école
|
||||||
|
0: école
|
||||||
|
|
||||||
|
/\w/I
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/\w/I,locale=fr_FR
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||||
|
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
école
|
||||||
|
0: é
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/\W+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[\W]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[^[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/\w+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[\w]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]][[:lower:]][[:upper:]]/IB,locale=fr_FR
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Bra
|
||||||
|
[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
|
||||||
|
[a-z\xb5\xdf-\xf6\xf8-\xff]
|
||||||
|
[A-Z\xc0-\xd6\xd8-\xde]
|
||||||
|
Ket
|
||||||
|
End
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
||||||
|
a b c d e f g h i j k l m n o p q r s t u v w x y z ª µ º À Á Â Ã Ä Å Æ Ç
|
||||||
|
È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í
|
||||||
|
î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 3
|
||||||
|
|
||||||
|
# End of testinput3
|
|
@ -0,0 +1,176 @@
|
||||||
|
# This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||||
|
# It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||||
|
# be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||||
|
# different version of this file called wintestinput3 for use on Windows,
|
||||||
|
# where the locale is called "french" and the tests are run using
|
||||||
|
# RunTest.bat.
|
||||||
|
|
||||||
|
#forbid_utf
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\w]+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\W]+/
|
||||||
|
École
|
||||||
|
0: \xc9
|
||||||
|
|
||||||
|
/^[\W]+/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: ***
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/locale=fr_FR
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/(.+)\b(.+)/
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
1: \xc9
|
||||||
|
2: cole
|
||||||
|
|
||||||
|
/(.+)\b(.+)/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: *** Failers
|
||||||
|
1: ***
|
||||||
|
2: Failers
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
école
|
||||||
|
0: école
|
||||||
|
|
||||||
|
/\w/I
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/\w/I,locale=fr_FR
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||||
|
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
école
|
||||||
|
0: é
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/\W+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[\W]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[^[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/\w+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[\w]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]][[:lower:]][[:upper:]]/IB,locale=fr_FR
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Bra
|
||||||
|
[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
|
||||||
|
[a-z\xaa\xb5\xba\xdf-\xf6\xf8-\xff]
|
||||||
|
[A-Z\xc0-\xd6\xd8-\xde]
|
||||||
|
Ket
|
||||||
|
End
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
||||||
|
a b c d e f g h i j k l m n o p q r s t u v w x y z ª µ º À Á Â Ã Ä Å Æ Ç
|
||||||
|
È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í
|
||||||
|
î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 3
|
||||||
|
|
||||||
|
# End of testinput3
|
|
@ -0,0 +1,176 @@
|
||||||
|
# This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||||
|
# It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||||
|
# be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||||
|
# different version of this file called wintestinput3 for use on Windows,
|
||||||
|
# where the locale is called "french" and the tests are run using
|
||||||
|
# RunTest.bat.
|
||||||
|
|
||||||
|
#forbid_utf
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\w]+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/^[\w]+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^[\W]+/
|
||||||
|
École
|
||||||
|
0: \xc9
|
||||||
|
|
||||||
|
/^[\W]+/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: ***
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/[\b]/locale=fr_FR
|
||||||
|
\b
|
||||||
|
0: \x08
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
a
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/^\w+/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
|
||||||
|
/(.+)\b(.+)/
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
1: \xc9
|
||||||
|
2: cole
|
||||||
|
|
||||||
|
/(.+)\b(.+)/locale=fr_FR
|
||||||
|
*** Failers
|
||||||
|
0: *** Failers
|
||||||
|
1: ***
|
||||||
|
2: Failers
|
||||||
|
École
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i
|
||||||
|
École
|
||||||
|
0: \xc9cole
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/École/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: École
|
||||||
|
école
|
||||||
|
0: école
|
||||||
|
|
||||||
|
/\w/I
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/\w/I,locale=fr_FR
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||||
|
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||||
|
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||||
|
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 1
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/i,locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
école
|
||||||
|
0: é
|
||||||
|
|
||||||
|
/^[\xc8-\xc9]/locale=fr_FR
|
||||||
|
École
|
||||||
|
0: É
|
||||||
|
*** Failers
|
||||||
|
No match
|
||||||
|
école
|
||||||
|
No match
|
||||||
|
|
||||||
|
/\W+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[\W]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/[^[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: >>>
|
||||||
|
>>>\xba<<<
|
||||||
|
0: >>>
|
||||||
|
|
||||||
|
/\w+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[\w]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]]+/locale=fr_FR
|
||||||
|
>>>\xaa<<<
|
||||||
|
0: ª
|
||||||
|
>>>\xba<<<
|
||||||
|
0: º
|
||||||
|
|
||||||
|
/[[:alpha:]][[:lower:]][[:upper:]]/IB,locale=fr_FR
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Bra
|
||||||
|
[A-Za-z\x83\x8a\x8c\x8e\x9a\x9c\x9e\x9f\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
|
||||||
|
[a-z\x83\x9a\x9c\x9e\xaa\xb5\xba\xdf-\xf6\xf8-\xff]
|
||||||
|
[A-Z\x8a\x8c\x8e\x9f\xc0-\xd6\xd8-\xde]
|
||||||
|
Ket
|
||||||
|
End
|
||||||
|
------------------------------------------------------------------
|
||||||
|
Capturing subpattern count = 0
|
||||||
|
No options
|
||||||
|
Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
||||||
|
a b c d e f g h i j k l m n o p q r s t u v w x y z ª µ º À Á Â Ã Ä Å Æ Ç
|
||||||
|
È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í
|
||||||
|
î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||||
|
No last code unit
|
||||||
|
Subject length lower bound = 3
|
||||||
|
|
||||||
|
# End of testinput3
|
Loading…
Reference in New Issue