/
niceSOFT
/
gettext
Обзор
Документация
Войти
/
niceSOFT
/
gettext
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
gettext-tools/tests/xgettext-javascript-2
118 строк
3 KB
Bruno Haible
xgettext: JavaScript: Parse RegExp literals according to ECMA-262 15th edition.
20 май 2025, 20:36
20 май 2025, 20:36
2fb3d86
Код
Авторство
О чём код?
#!/bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test of JavaScript support. # Playing with regex and division operator cat <<\EOF > xg-js-2.js // RegExp literals containing string quotes must not desync the parser var d = 1 / 2 / 4; var s = " x " + /^\d/.match("0815").replace(/[a-z]/g, '@'); var s1 = /"/.match(_("RegExp test string #1")); var s2 = /'/.match(_("RegExp test string #2")); var s3 = /['a-b]/.match(_('RegExp test string #3')); var s4 = /["a-b]/.match(_('RegExp test string #4')); var s5 = /[a-b']/.match(_('RegExp test string #5')); var s6 = /[a-b"]/.match(_('RegExp test string #6')); var c = 35 / 2 / 8 + _("RegExp test string #7").length / 32.0; var sizestr = Math.round(size/1024*factor)/factor+_("RegExp test string #8"); var cssClassType = attr.type.replace(/^.*\//, _('RegExp test string #9')).replace(/\./g, '-'); var lookup = lookuptable[idx]/factor+_("RegExp test string #10"); function doit() { return /\./.match(_("RegExp test string #11")); } if (false) /foo/.match(_("RegExp test string #12")); else /foo/.match(_("RegExp test string #13")); var s7 = /a\/\f\r\n\t\v\0\b\s\S\w\W\d\D\b\Bb/.test(_("RegExp test string #14")); var s8 = /(?=(a+))a*b\1/.exec(_("RegExp test string #15")); var s9 = /_("a+")/.exec(_("RegExp test string #16")); var s10 = /[abc/def]/.exec(_("RegExp test string #17")); var s11 = /[abc/`def]/.exec(_("RegExp test string #18")); EOF : ${XGETTEXT=xgettext} ${XGETTEXT} --add-comments --no-location -o xg-js-2.tmp xg-js-2.js 2>xg-js-2.err test $? = 0 || { cat xg-js-2.err; Exit 1; } func_filter_POT_Creation_Date xg-js-2.tmp xg-js-2.pot cat <<\EOF > xg-js-2.ok # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" msgid "RegExp test string #1" msgstr "" msgid "RegExp test string #2" msgstr "" msgid "RegExp test string #3" msgstr "" msgid "RegExp test string #4" msgstr "" msgid "RegExp test string #5" msgstr "" msgid "RegExp test string #6" msgstr "" msgid "RegExp test string #7" msgstr "" msgid "RegExp test string #8" msgstr "" msgid "RegExp test string #9" msgstr "" msgid "RegExp test string #10" msgstr "" msgid "RegExp test string #11" msgstr "" msgid "RegExp test string #12" msgstr "" msgid "RegExp test string #13" msgstr "" msgid "RegExp test string #14" msgstr "" msgid "RegExp test string #15" msgstr "" msgid "RegExp test string #16" msgstr "" msgid "RegExp test string #17" msgstr "" msgid "RegExp test string #18" msgstr "" EOF : ${DIFF=diff} ${DIFF} xg-js-2.ok xg-js-2.pot result=$? exit $result