summaryrefslogtreecommitdiffstats
path: root/gettext-tools/tests/xgettext-vala-1
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2014-12-07 07:08:40 +0900
committerDaiki Ueno <ueno@gnu.org>2014-12-07 07:08:40 +0900
commit2ff7a10564a2a7b9821a1c9174e314f4cf5f7295 (patch)
treef76cfb55b8285b9cf5e87159233b126ed4ccf85e /gettext-tools/tests/xgettext-vala-1
parentc3ad69335b7ba3e546d1cb8f5bd750268daa70b9 (diff)
downloadexternal_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/tests/xgettext-vala-1')
-rwxr-xr-xgettext-tools/tests/xgettext-vala-147
1 files changed, 44 insertions, 3 deletions
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