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

# Test of GtkBuilder support.
# Checks the extraction of a medium size GtkBuilder file, with
# comments, context and translatable and not translatable content.

cat <<EOF > xg-gl-7-empty.glade
<?xml version="1.0"?>
<GTK-Interface/>
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} -o xg-gl-7.pot xg-gl-7-empty.glade 2>/dev/null
test $? = 0 || {
  echo "Skipping test: xgettext was built without Glade support"
  Exit 77
}

cat <<EOF > xg-gl-7.ui
<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <!-- interface-requires gtk+ 3.0 -->
  <object class="GtkImage" id="image1">
    <property name="visible">True</property>
    <property name="can_focus">False</property>
    <property name="stock">gtk-about</property>
  </object>
  <object class="GtkImage" id="image2">
    <property name="visible">True</property>
    <property name="can_focus">False</property>
    <property name="stock">gtk-help</property>
  </object>
  <object class="GtkImage" id="image3">
    <property name="visible">True</property>
    <property name="can_focus">False</property>
    <property name="stock">gtk-connect</property>
  </object>
  <object class="GtkListStore" id="liststore">
    <columns>
      <!-- column-name first column -->
      <column type="gchararray"/>
      <!-- column-name second column -->
      <column type="gchararray"/>
      <!-- column-name not extracted column -->
      <column type="guint64"/>
    </columns>
    <data>
      <row>
        <col id="0" translatable="yes" context="First row">Hi</col>
        <col id="1" translatable="yes" comments="A comment.">Comment</col>
        <col id="2">999</col>
      </row>
      <row>
        <col id="0" translatable="yes" context="First row">Hello</col>
        <col id="1" translatable="yes" comments="This is no translatable.">Translatable comment.</col>
        <col id="2">88</col>
      </row>
      <row>
        <col id="0" translatable="no" context="First row" comments="Yeah">Oi</col>
        <col id="1" translatable="yes" context="This is not translatable">Please...</col>
        <col id="2">86855555</col>
      </row>
      <row>
        <col id="0" translatable="yes" context="First row">Hi</col>
        <col id="1" translatable="yes" comments="A multiline&#10;comment.">Comment</col>
        <col id="2">999</col>
      </row>
    </data>
  </object>
  <object class="GtkWindow" id="window">
    <property name="can_focus">False</property>
    <child>
      <object class="GtkBox" id="box">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkMenuBar" id="menubar">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <child>
              <object class="GtkMenuItem" id="menuitem1">
                <property name="use_action_appearance">False</property>
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="label" translatable="yes" context="Menu" comments="This thing is the menu label">One thing</property>
                <property name="use_underline">True</property>
                <child type="submenu">
                  <object class="GtkMenu" id="menu1">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <child>
                      <object class="GtkImageMenuItem" id="imagemenuitem1">
                        <property name="label" translatable="yes" context="One thing" comments="This thing is the label in the inner menu.">One thing</property>
                        <property name="use_action_appearance">False</property>
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="image">image1</property>
                        <property name="use_stock">False</property>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child>
              <object class="GtkMenuItem" id="menuitem2">
                <property name="use_action_appearance">False</property>
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="label" translatable="yes" context="Menu" comments="This is easy.">H_elp</property>
                <property name="use_underline">True</property>
                <child type="submenu">
                  <object class="GtkMenu" id="menu2">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <child>
                      <object class="GtkImageMenuItem" id="imagemenuitem2">
                        <property name="label" translatable="yes" context="Second menu" comments="This one thing is for the second menu.">One thing</property>
                        <property name="use_action_appearance">False</property>
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="image">image2</property>
                        <property name="use_stock">False</property>
                      </object>
                    </child>
                    <child>
                      <object class="GtkImageMenuItem" id="imagemenuitem3">
                        <property name="label" translatable="yes" context="Second menu" comments="To you too.">Greetings</property>
                        <property name="use_action_appearance">False</property>
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="image">image3</property>
                        <property name="use_stock">False</property>
                      </object>
                    </child>
                  </object>
                </child>
              </object>
            </child>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">True</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkTreeView" id="treeview2">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="model">liststore</property>
            <signal name="columns-changed" handler="myfunction_treeview_columns_changed" object="treeview-selection2" swapped="no"/>
            <child internal-child="selection">
              <object class="GtkTreeSelection" id="treeview-selection2"/>
            </child>
          </object>
          <packing>
            <property name="expand">True</property>
            <property name="fill">True</property>
            <property name="position">1</property>
          </packing>
        </child>
        <child>
          <object class="GtkButton" id="button">
            <property name="label" translatable="yes" context="Button" comments="This one thing is the button.">One thing</property>
            <property name="use_action_appearance">False</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="receives_default">True</property>
            <property name="use_action_appearance">False</property>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">True</property>
            <property name="position">2</property>
          </packing>
        </child>
      </object>
    </child>
  </object>
</interface>
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} -o xg-gl-7.tmp xg-gl-7.ui || Exit 1
func_filter_POT_Creation_Date xg-gl-7.tmp xg-gl-7.pot

cat <<\EOF > xg-gl-7.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"

#: xg-gl-7.ui:30 xg-gl-7.ui:45
msgctxt "First row"
msgid "Hi"
msgstr ""

#. A comment.
#. A multiline
#. comment.
#: xg-gl-7.ui:31 xg-gl-7.ui:46
msgid "Comment"
msgstr ""

#: xg-gl-7.ui:35
msgctxt "First row"
msgid "Hello"
msgstr ""

#. This is no translatable.
#: xg-gl-7.ui:36
msgid "Translatable comment."
msgstr ""

#: xg-gl-7.ui:41
msgctxt "This is not translatable"
msgid "Please..."
msgstr ""

#. This thing is the menu label
#: xg-gl-7.ui:67
msgctxt "Menu"
msgid "One thing"
msgstr ""

#. This thing is the label in the inner menu.
#: xg-gl-7.ui:75
msgctxt "One thing"
msgid "One thing"
msgstr ""

#. This is easy.
#: xg-gl-7.ui:92
msgctxt "Menu"
msgid "H_elp"
msgstr ""

#. This one thing is for the second menu.
#: xg-gl-7.ui:100
msgctxt "Second menu"
msgid "One thing"
msgstr ""

#. To you too.
#: xg-gl-7.ui:110
msgctxt "Second menu"
msgid "Greetings"
msgstr ""

#. This one thing is the button.
#: xg-gl-7.ui:147
msgctxt "Button"
msgid "One thing"
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-gl-7.ok xg-gl-7.pot
result=$?

exit $result
