aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-02-03 19:34:47 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-02-03 20:03:23 +0900
commitaca8870128caeec74ed4426f3c1e23ab60597453 (patch)
tree210c0150956a73bc3e4417935bafc0379db48ab3 /tests
parent9f491e34ac2c96c3d18f30f9710b1a3ecab173e7 (diff)
downloadlatinime-aca8870128caeec74ed4426f3c1e23ab60597453.tar.gz
latinime-aca8870128caeec74ed4426f3c1e23ab60597453.tar.xz
latinime-aca8870128caeec74ed4426f3c1e23ab60597453.zip
Recursively resolve @string/resource reference in key key spec parsing
Change-Id: I9d172605e90e828e00f7c4c8d49548498aa3b50d
Diffstat (limited to 'tests')
-rw-r--r--tests/res/values/donottranslate.xml3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java12
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/res/values/donottranslate.xml b/tests/res/values/donottranslate.xml
index d0cde71a5..1ca4451d4 100644
--- a/tests/res/values/donottranslate.xml
+++ b/tests/res/values/donottranslate.xml
@@ -50,4 +50,7 @@
<string name="multiple_labels_with_escape_surrounded_by_spaces">" \\abc , d\\ef , gh\\i "</string>
<string name="multiple_labels_with_comma_and_escape">"ab\\\\,d\\\\\\,,g\\,i"</string>
<string name="multiple_labels_with_comma_and_escape_surrounded_by_spaces">" ab\\\\ , d\\\\\\, , g\\,i "</string>
+ <string name="indirect_string">@string/multiple_chars</string>
+ <string name="indirect_string_with_literal">x,@string/multiple_chars,y</string>
+ <string name="infinite_indirection">infinite,@string/infinite_indirection,loop</string>
</resources>
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
index a0ce86d1c..e090031e4 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java
@@ -288,4 +288,16 @@ public class KeySpecParserCsvTests extends AndroidTestCase {
"abc@string/multiple_labels",
"abcabc", "def", "ghi");
}
+
+ public void testParseIndirectReference() {
+ assertTextArray("Indirect",
+ "@string/indirect_string", "a", "b", "c");
+ assertTextArray("Indirect with literal",
+ "1,@string/indirect_string_with_literal,2", "1", "x", "a", "b", "c", "y", "2");
+ }
+
+ public void testParseInfiniteIndirectReference() {
+ assertError("Infinite indirection",
+ "1,@string/infinite_indirection,2", "1", "infinite", "<infinite>", "loop", "2");
+ }
}