#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test of JavaScript Unicode support.

cat <<\EOF > xg-js-5.js
// the following except is stolen from json2.js
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
    escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
    gap,
    txt1 = _("Expected translation string #1"),
    indent,
    meta = {    // table of character substitutions
        '\b': '\\b',
        '\t': '\\t',
        '\n': '\\n',
        '\f': '\\f',
        '\r': '\\r',
        '"' : '\\"',
        '\\': '\\\\' + _("Expected translation string #2")
    },
    txt2 = _("Expected translation string #3"),
    rep;
var matched = curnodepath.match('^\\'+path+'\\/([\\w\\s]+)') \
    + _("Expected translation string #4");
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} --add-comments --no-location -o xg-js-5.tmp xg-js-5.js 2>xg-js-5.err
test $? = 0 || { cat xg-js-5.err; Exit 1; }
func_filter_POT_Creation_Date xg-js-5.tmp xg-js-5.pot

cat <<\EOF > xg-js-5.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 "Expected translation string #1"
msgstr ""

msgid "Expected translation string #2"
msgstr ""

msgid "Expected translation string #3"
msgstr ""

msgid "Expected translation string #4"
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-js-5.ok xg-js-5.pot
result=$?

exit $result
