diff options
-rw-r--r-- | IkiWiki.pm | 2 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rwxr-xr-x | t/yesno.t | 21 |
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); |