diff options
Diffstat (limited to 'gettext-tools/tests')
-rw-r--r-- | gettext-tools/tests/Makefile.am | 4 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-1 | 63 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-2 | 56 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-3 | 63 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-4 | 58 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-5 | 63 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-6 | 58 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-7 | 123 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-javascript-stackovfl-8 | 118 |
9 files changed, 606 insertions, 0 deletions
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index bac8bc63b..85bdd57e8 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -110,6 +110,10 @@ TESTS = gettext-1 gettext-2 \ xgettext-javascript-1 xgettext-javascript-2 xgettext-javascript-3 \ xgettext-javascript-4 xgettext-javascript-5 xgettext-javascript-6 \ xgettext-javascript-7 \ + xgettext-javascript-stackovfl-1 xgettext-javascript-stackovfl-2 \ + xgettext-javascript-stackovfl-3 xgettext-javascript-stackovfl-4 \ + xgettext-javascript-stackovfl-5 xgettext-javascript-stackovfl-6 \ + xgettext-javascript-stackovfl-7 xgettext-javascript-stackovfl-8 \ xgettext-librep-1 xgettext-librep-2 \ xgettext-lisp-1 xgettext-lisp-2 \ xgettext-lua-1 xgettext-lua-2 \ diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-1 b/gettext-tools/tests/xgettext-javascript-stackovfl-1 new file mode 100755 index 000000000..3fd583a1c --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-1 @@ -0,0 +1,63 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-1.js +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +((((((((((((((((((((((((((((((((((((((((((((((((( +_("Hello!") +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +))))))))))))))))))))))))))))))))))))))))))))))))) +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-1.tmp xg-js-so-1.js || Exit 1 +LC_ALL=C tr -d '\r' < xg-js-so-1.tmp.po > xg-js-so-1.po || Exit 1 + +cat <<EOF > xg-js-so-1.ok +msgid "Hello!" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-js-so-1.ok xg-js-so-1.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-2 b/gettext-tools/tests/xgettext-javascript-stackovfl-2 new file mode 100755 index 000000000..f8940f98e --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-2 @@ -0,0 +1,56 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-2.js +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((( +_("Hello!") +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))) +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-2.tmp xg-js-so-2.js 2>xg-js-so-2.err +result=$? +cat xg-js-so-2.err +test $result = 1 || Exit 1 + +exit 0 diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-3 b/gettext-tools/tests/xgettext-javascript-stackovfl-3 new file mode 100755 index 000000000..53e39e46d --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-3 @@ -0,0 +1,63 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-3.js +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +_("Hello!") +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-3.tmp xg-js-so-3.js || Exit 1 +LC_ALL=C tr -d '\r' < xg-js-so-3.tmp.po > xg-js-so-3.po || Exit 1 + +cat <<EOF > xg-js-so-3.ok +msgid "Hello!" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-js-so-3.ok xg-js-so-3.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-4 b/gettext-tools/tests/xgettext-javascript-stackovfl-4 new file mode 100755 index 000000000..664a81f62 --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-4 @@ -0,0 +1,58 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-4.js +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ +[ +_("Hello!") +] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-4.tmp xg-js-so-4.js 2>xg-js-so-4.err +result=$? +cat xg-js-so-4.err +test $result = 1 || Exit 1 + +exit 0 diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-5 b/gettext-tools/tests/xgettext-javascript-stackovfl-5 new file mode 100755 index 000000000..134a82c04 --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-5 @@ -0,0 +1,63 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-5.js +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +_("Hello!") +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-5.tmp xg-js-so-5.js || Exit 1 +LC_ALL=C tr -d '\r' < xg-js-so-5.tmp.po > xg-js-so-5.po || Exit 1 + +cat <<EOF > xg-js-so-5.ok +msgid "Hello!" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-js-so-5.ok xg-js-so-5.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-6 b/gettext-tools/tests/xgettext-javascript-stackovfl-6 new file mode 100755 index 000000000..550ce882d --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-6 @@ -0,0 +1,58 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-6.js +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ +{ +_("Hello!") +} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-6.tmp xg-js-so-6.js 2>xg-js-so-6.err +result=$? +cat xg-js-so-6.err +test $result = 1 || Exit 1 + +exit 0 diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-7 b/gettext-tools/tests/xgettext-javascript-stackovfl-7 new file mode 100755 index 000000000..2af1e13b4 --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-7 @@ -0,0 +1,123 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-7.js +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +_("Hello!") +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-7.tmp xg-js-so-7.js || Exit 1 +LC_ALL=C tr -d '\r' < xg-js-so-7.tmp.po > xg-js-so-7.po || Exit 1 + +cat <<EOF > xg-js-so-7.ok +msgid "Hello!" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-js-so-7.ok xg-js-so-7.po +result=$? + +exit $result diff --git a/gettext-tools/tests/xgettext-javascript-stackovfl-8 b/gettext-tools/tests/xgettext-javascript-stackovfl-8 new file mode 100755 index 000000000..5d3c617fe --- /dev/null +++ b/gettext-tools/tests/xgettext-javascript-stackovfl-8 @@ -0,0 +1,118 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test JavaScript support: stack overflow prevented by nesting depth check. + +cat <<EOF > xg-js-so-8.js +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x> +<y> +_("Hello!") +</y> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --omit-header --no-location -d xg-js-so-8.tmp xg-js-so-8.js 2>xg-js-so-8.err +result=$? +cat xg-js-so-8.err +test $result = 1 || Exit 1 + +exit 0 |