• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2. "${srcdir=.}/init.sh"; path_prepend_ . ../src
3
4# Test of JavaScript JSX support.
5
6cat <<\EOF > xg-js-6.js
7class Foo extends React.Component {
8    render() {
9        return (
10            <div className="aClass" />
11        );
12    }
13}
14class Bar extends React.Component {
15    render() {
16        return (
17            <div>
18                <span className="someClass" />
19                { gettext('Expected translation string #0') }
20            </div>
21        );
22    }
23}
24
25var x1 = <x1></x1>;
26var s1 = _("Expected translation string #1");
27var s2 = "foo";
28var x2 = <{s2}>foo {s2} bar</{s2}>;
29var x3 = <x3 a1="/"><x4>{_("Expected translation string #2")}</x4></x3>;
30var x4 = <x5 a2='/'><x{_("Expected translation string #3")}>
31</x{_("Expected translation string #3")}></x5>;
32var x4 = <![CDATA[
33  _("Unexpected translation string #1")
34]]>;
35var x5 = <!-- - _("Unexpected translation string #2") - -->;
36var s6 = _("Expected translation string #4");
37var x6 = <? _("Unexpected translation string #3") ?>;
38var x7 = <!--- this is a comment --> <foo>
39var s7 = "<{x6}>_("Unexpected translation string #4")</{x6}>" +
40         "<!-- _("Unexpected translation string #5") --!>" +
41         _("Expected translation string #5");
42var s8 = _("<x7>Expected translation string #6</x7>");
43var x8 = <x8><x9>{_("<x8>{Expected translation string #7}</x8>")}</x9></x8>
44var x9 = <x10 attr='{_("Unexpected translation string #6")}'><x11>data</x11></x10>;
45var s9 = _("Expected translation string #8");
46</foo>;
47function foo() {
48  return <a>{ 'b' }</a>;
49}
50var s10 = _("Expected translation string #9");
51EOF
52
53: ${XGETTEXT=xgettext}
54${XGETTEXT} --add-comments --no-location -o xg-js-6.tmp xg-js-6.js 2>xg-js-6.err
55test $? = 0 || { cat xg-js-6.err; Exit 1; }
56func_filter_POT_Creation_Date xg-js-6.tmp xg-js-6.pot
57
58cat <<\EOF > xg-js-6.ok
59# SOME DESCRIPTIVE TITLE.
60# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
61# This file is distributed under the same license as the PACKAGE package.
62# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
63#
64#, fuzzy
65msgid ""
66msgstr ""
67"Project-Id-Version: PACKAGE VERSION\n"
68"Report-Msgid-Bugs-To: \n"
69"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
70"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
71"Language-Team: LANGUAGE <LL@li.org>\n"
72"Language: \n"
73"MIME-Version: 1.0\n"
74"Content-Type: text/plain; charset=CHARSET\n"
75"Content-Transfer-Encoding: 8bit\n"
76
77msgid "Expected translation string #0"
78msgstr ""
79
80msgid "Expected translation string #1"
81msgstr ""
82
83msgid "Expected translation string #2"
84msgstr ""
85
86msgid "Expected translation string #3"
87msgstr ""
88
89msgid "Expected translation string #4"
90msgstr ""
91
92msgid "Expected translation string #5"
93msgstr ""
94
95msgid "<x7>Expected translation string #6</x7>"
96msgstr ""
97
98msgid "<x8>{Expected translation string #7}</x8>"
99msgstr ""
100
101msgid "Expected translation string #8"
102msgstr ""
103
104msgid "Expected translation string #9"
105msgstr ""
106EOF
107
108: ${DIFF=diff}
109${DIFF} xg-js-6.ok xg-js-6.pot
110result=$?
111
112exit $result
113