summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki.pm2
-rw-r--r--debian/changelog2
-rwxr-xr-xt/yesno.t21
3 files changed, 24 insertions, 1 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index e509a7c2f..7eef4c320 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -1658,7 +1658,7 @@ sub gettext {
sub yesno ($) {
my $val=shift;
- return (defined $val && lc($val) eq gettext("yes"));
+ return (defined $val && (lc($val) eq gettext("yes") || lc($val) eq "yes" || $val eq "1"));
}
sub inject {
diff --git a/debian/changelog b/debian/changelog
index 0f2c75787..f892dc524 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ ikiwiki (3.01) UNRELEASED; urgency=low
* ikiwiki-makerepo: Fix injecting of empty mercurial and bzr repositories.
Closes: #510518
* Fix documentation about git hook to use right name. Closes: #510393
+ * yesno: Always accept English even when localised.
+ * yesno: Also accept 1 and 0 as input.
-- Joey Hess <joeyh@debian.org> Fri, 02 Jan 2009 14:12:16 -0500
diff --git a/t/yesno.t b/t/yesno.t
new file mode 100755
index 000000000..60a8c071d
--- /dev/null
+++ b/t/yesno.t
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use Test::More tests => 10;
+
+BEGIN { use_ok("IkiWiki"); }
+
+# note: yesno always accepts English even if localized.
+# So no need to bother setting locale to C.
+
+ok(IkiWiki::yesno("yes") == 1);
+ok(IkiWiki::yesno("Yes") == 1);
+ok(IkiWiki::yesno("YES") == 1);
+
+ok(IkiWiki::yesno("no") == 0);
+ok(IkiWiki::yesno("No") == 0);
+ok(IkiWiki::yesno("NO") == 0);
+
+ok(IkiWiki::yesno("1") == 1);
+ok(IkiWiki::yesno("0") == 0);
+ok(IkiWiki::yesno("mooooooooooo") == 0);