]> git.draconx.ca Git - dxcommon.git/blobdiff - tests/macros.at
Avoid nonportable ${x##y} substitutions in program tests.
[dxcommon.git] / tests / macros.at
index 4bf1c69ce9375bcf93912f55a6140defbbe41a50..f746e54522ae8e849d0fab932ff6b044dc1eddf5 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright © 2014-2015, 2018 Nick Bowler
+dnl Copyright © 2014-2015, 2018-2019, 2021 Nick Bowler
 dnl
 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
 dnl This is free software: you are free to do what the fuck you want to.
@@ -43,8 +43,8 @@ AC_CONFIG_FILES([test])
 TEST_AUTORECONF
 TEST_CONFIGURE
 
-printf '%s\n' "$srcdir" | sed -e 's:/\./:/:g' -e 's:/\.$::g' \
-                              -e 's:\(.\)//*:\1/:g' >expout
+printf '${top_srcdir}/%s\n' "$srcdir" | sed -e 's:/\./:/:g' -e 's:/\.$::g' \
+                                            -e 's:\(.\)//*:\1/:g' >expout
 AT_CHECK([cat test], [0], [expout])
 
 AT_CLEANUP
@@ -132,7 +132,7 @@ AC_CONFIG_FILES([test])
 ]])
 
 TEST_AUTORECONF
-export LINGUAS='en_CA en'; TEST_CONFIGURE
+LINGUAS='en_CA en'; export LINGUAS; TEST_CONFIGURE
 
 AT_CHECK([cat test], [0], [[POFILES = po/en.po
 MOFILES = po/en.mo
@@ -198,46 +198,71 @@ AC_CONFIG_FILES([test])
 ]])
 TEST_AUTORECONF
 
-export LINGUAS="en"; TEST_CONFIGURE
+LINGUAS='en'; export LINGUAS; 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
+LINGUAS='en_US'; export LINGUAS; 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
+LINGUAS='en_CA'; export LINGUAS; 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
+LINGUAS='ja ko'; export LINGUAS; 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
+LINGUAS='ja_JP ko_KR'; export LINGUAS; 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
+LINGUAS=''; export LINGUAS; 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
+MOFILES = @&t@
 ]])
 
-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
+
+AT_SETUP([DX_BASENAME])
+AT_KEYWORDS([DX_BASENAME macro])
+
+AT_DATA([test.in], [[@base0@
+@base1@
+@base2@
+@base3@
+]])
+
+TEST_CONFIGURE_AC(
+[[DX_BASENAME([base0], ["hello"])
+DX_BASENAME([base1], ["foo/bar"])
+DX_BASENAME([base2], ["/foo/bar/baz"])
+DX_BASENAME([base3], ["hello world"])
+AC_SUBST([base0])
+AC_SUBST([base1])
+AC_SUBST([base2])
+AC_SUBST([base3])
+AC_CONFIG_FILES([test])
 ]])
+TEST_AUTORECONF
+
+TEST_CONFIGURE
+AT_CHECK([cat test], [0], [hello
+bar
+baz
+hello world
+])
 
 AT_CLEANUP