diff options
author | 2012-02-03 19:34:47 +0900 | |
---|---|---|
committer | 2012-02-03 20:03:23 +0900 | |
commit | aca8870128caeec74ed4426f3c1e23ab60597453 (patch) | |
tree | 210c0150956a73bc3e4417935bafc0379db48ab3 /tests | |
parent | 9f491e34ac2c96c3d18f30f9710b1a3ecab173e7 (diff) | |
download | latinime-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.xml | 3 | ||||
-rw-r--r-- | tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserCsvTests.java | 12 |
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"); + } } |