]> git.draconx.ca Git - dxcommon.git/blobdiff - tests/macros.at
Add a basic usage test for DX_LINGUAS.
[dxcommon.git] / tests / macros.at
index f3ada4563f5230decf9b9ee6e93c211076e229ce..4bf1c69ce9375bcf93912f55a6140defbbe41a50 100644 (file)
@@ -6,22 +6,6 @@ dnl There is NO WARRANTY, to the extent permitted by law.
 
 AT_BANNER([Autoconf macros])
 
-m4_define([TEST_CONFIGURE_AC], [AT_DATA([configure.ac],
-[[AC_INIT([test], [0])
-]$1[
-AC_OUTPUT
-]])
-cp "$srcdir/install-sh" \
-   "$srcdir/config.guess" \
-   "$srcdir/config.sub" \
-   .
-])
-
-m4_define([TEST_AUTORECONF],
-  [AT_CHECK([autoreconf -I "$srcdir/m4"], [0], [], [stderr])])
-
-m4_define([TEST_CONFIGURE], [AT_CHECK([./configure $1], [0], [ignore])])
-
 dnl Verify that the DX_BASEDIR macro expands correctly during argument
 dnl collection.  Crucially, the output must not contain any other text.
 AT_SETUP([DX_BASEDIR during argument collection])
@@ -125,3 +109,135 @@ AT_CHECK([cat test.out], [0], [[FOOFOOFOO
 ]])
 
 AT_CLEANUP
+
+AT_SETUP([DX_LINGUAS unused country variants])
+AT_KEYWORDS([DX_LINGUAS macro])
+
+echo : >config.rpath
+chmod +x config.rpath
+
+mkdir po
+AT_DATA([po/LINGUAS], [[en
+]])
+
+AT_DATA([test.in], [[POFILES = @POFILES@
+MOFILES = @MOFILES@
+]])
+
+TEST_CONFIGURE_AC(
+[[m4@&t@_traceoff([AM_GNU_GETTEXT])
+AM_GNU_GETTEXT([external])
+DX_LINGUAS
+AC_CONFIG_FILES([test])
+]])
+
+TEST_AUTORECONF
+export LINGUAS='en_CA en'; TEST_CONFIGURE
+
+AT_CHECK([cat test], [0], [[POFILES = po/en.po
+MOFILES = po/en.mo
+]])
+
+AT_CLEANUP
+
+AT_SETUP([DX_LINGUAS default install all])
+AT_KEYWORDS([DX_LINGUAS macro])
+
+AS_UNSET([LINGUAS])
+AT_SKIP_IF([test ${LINGUAS+y}])
+
+echo : >config.rpath
+chmod +x config.rpath
+
+mkdir po
+AT_DATA([po/LINGUAS], [[en ja # a comment ko
+zh
+]])
+
+AT_DATA([test.in], [[POFILES = @POFILES@
+MOFILES = @MOFILES@
+]])
+
+TEST_CONFIGURE_AC(
+[[m4@&t@_traceoff([AM_GNU_GETTEXT])
+AM_GNU_GETTEXT([external])
+DX_LINGUAS
+AC_CONFIG_FILES([test])
+]])
+
+TEST_AUTORECONF
+TEST_CONFIGURE
+
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/ja.po po/zh.po
+MOFILES = po/en.mo po/ja.mo po/zh.mo
+]])
+
+AT_CLEANUP
+
+AT_SETUP([DX_LINGUAS selections])
+AT_KEYWORDS([DX_LINGUAS macro])
+
+echo : >config.rpath
+chmod +x config.rpath
+
+mkdir po
+AT_DATA([po/LINGUAS], [[en ja # a comment ko
+zh en_US
+]])
+
+AT_DATA([test.in], [[POFILES = @POFILES@
+MOFILES = @MOFILES@
+]])
+
+TEST_CONFIGURE_AC(
+[[m4@&t@_traceoff([AM_GNU_GETTEXT])
+AM_GNU_GETTEXT([external])
+DX_LINGUAS
+AC_CONFIG_FILES([test])
+]])
+TEST_AUTORECONF
+
+export LINGUAS="en"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/en.mo
+]])
+
+export LINGUAS="en_US"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/en.mo po/en_US.mo
+]])
+
+export LINGUAS="en_CA"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/en.mo
+]])
+
+export LINGUAS="ja ko"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/ja.mo
+]])
+
+export LINGUAS="ja ko"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/ja.mo
+]])
+
+export LINGUAS="ja_JP ko_KR"; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = po/ja.mo
+]])
+
+export LINGUAS=""; TEST_CONFIGURE
+AT_CHECK([cat test], [0],
+[[POFILES = po/en.po po/en_US.po po/ja.po po/zh.po
+MOFILES = @&t@
+]])
+
+AT_CLEANUP