diff options
author | Daiki Ueno <ueno@gnu.org> | 2014-12-07 07:08:40 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2014-12-07 07:08:40 +0900 |
commit | 2ff7a10564a2a7b9821a1c9174e314f4cf5f7295 (patch) | |
tree | f76cfb55b8285b9cf5e87159233b126ed4ccf85e /gettext-tools | |
parent | c3ad69335b7ba3e546d1cb8f5bd750268daa70b9 (diff) | |
download | external_gettext-2ff7a10564a2a7b9821a1c9174e314f4cf5f7295.zip external_gettext-2ff7a10564a2a7b9821a1c9174e314f4cf5f7295.tar.gz external_gettext-2ff7a10564a2a7b9821a1c9174e314f4cf5f7295.tar.bz2 |
tests: Improve test coverage of Vala scanner
* xgettext-vala-1: Test regex literal right after arithmetic
assignment operators, and the case '@' is not followed by a
template string.
Diffstat (limited to 'gettext-tools')
-rw-r--r-- | gettext-tools/tests/ChangeLog | 7 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-vala-1 | 47 |
2 files changed, 51 insertions, 3 deletions
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index d12b512..b4fa4d0 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -1,3 +1,10 @@ +2014-12-07 Daiki Ueno <ueno@gnu.org> + + tests: Improve test coverage of Vala scanner + * xgettext-vala-1: Test regex literal right after arithmetic + assignment operators, and the case '@' is not followed by a + template string. + 2014-12-05 Daiki Ueno <ueno@gnu.org> tests: Add more tests for integer overflow when reading MO file diff --git a/gettext-tools/tests/xgettext-vala-1 b/gettext-tools/tests/xgettext-vala-1 index 9d87381..256b973 100755 --- a/gettext-tools/tests/xgettext-vala-1 +++ b/gettext-tools/tests/xgettext-vala-1 @@ -34,6 +34,39 @@ int main (string[] args) { var s6 = /_("This is a regex literal and must not be extracted!")\|/i; + var i1 = 1000; + i1 = 1 + /_("Regex literal after '+'")/.get_capture_count (); + i1 = 1 - /_("Regex literal after '-'")/.get_capture_count (); + i1 = 1 & /_("Regex literal after '-'")/.get_capture_count (); + i1 = 1 ^ /_("Regex literal after '^'")/.get_capture_count (); + if (1 < /_("Regex literal after '<'")/.get_capture_count ()) + return 1; + if (1 <= /_("Regex literal after '<='")/.get_capture_count ()) + return 1; + if (1 != /_("Regex literal after '!='")/.get_capture_count ()) + return 1; + if (! /_("Regex literal after '!'")/.match(s1)) + return 1; + if (true && /_("Regex literal after '&&'")/.match(s1)) + return 1; + if (false || /_("Regex literal after '||'")/.match(s1)) + return 1; + + var r1 = true ? /_("Regex literal after '?'")/ : + /_("Regex literal after ':'")/; + var r2 = true ?? /_("Regex literal after '??'")/; + i1 += 1 << /_("Regex literal after '+='")/.get_capture_count (); + i1 *= /_("Regex literal after '*='")/.get_capture_count (); + i1 /= /_("Regex literal after '/='")/.get_capture_count (); + i1 %= /_("Regex literal after '%='")/.get_capture_count (); + i1 <<= /_("Regex literal after '<<='")/.get_capture_count (); + i1 |= /_("Regex literal after '|='")/.get_capture_count (); + + i1++; + i1--; + i1 = i1 / i1; + GLib.Timeout.add (10, () => { return false; }); + var d1 = 10e-1; var d2 = 10E-1; @@ -44,13 +77,21 @@ int main (string[] args) { var s8 = _(@"This is a template string, which cannot be extracted!"); /* /= shouldn't start a regex literal */ - var i1 = 1000; - i1 /= 10; - + var i5 = 1000; + i5 /= 10; + return 0; } + +class Foo : Object { + // @ isn't always followed by a template string. + public static Foo @new (void) { + return null; + } +} EOF +cp xg-vala-1.vala .. ${XGETTEXT} --add-comments --no-location -o xg-vala-1.tmp xg-vala-1.vala 2>xg-vala-1.err test $? = 0 || { cat xg-vala-1.err; exit 1; } # Don't simplify this to "grep ... < xg-vala-1.tmp", otherwise OpenBSD 4.0 grep |