summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
authorDaisuke Miyakawa <dmiyakawa@google.com>2010-08-18 13:35:47 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-08-18 13:35:47 -0700
commita7bb3ba54aed70919c8304ae4227ab5106243f75 (patch)
tree5039f03e3924ecc6c6c7ddfcb2cccc8cdf950803 /core/tests
parent3719f8568e809ffd30f90adc38993256a9d3d066 (diff)
parentf996ed9f2e4a992e5d884077a15dcc23a8d90c44 (diff)
downloadframeworks_base-a7bb3ba54aed70919c8304ae4227ab5106243f75.zip
frameworks_base-a7bb3ba54aed70919c8304ae4227ab5106243f75.tar.gz
frameworks_base-a7bb3ba54aed70919c8304ae4227ab5106243f75.tar.bz2
am f996ed9f: Merge "Make vCard importer/exporter aware of multi-byte parameters." into gingerbread
Merge commit 'f996ed9f2e4a992e5d884077a15dcc23a8d90c44' into gingerbread-plus-aosp * commit 'f996ed9f2e4a992e5d884077a15dcc23a8d90c44': Make vCard importer/exporter aware of multi-byte parameters.
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/res/raw/v30_multibyte_param.vcf5
-rw-r--r--core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java22
-rw-r--r--core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java30
3 files changed, 57 insertions, 0 deletions
diff --git a/core/tests/coretests/res/raw/v30_multibyte_param.vcf b/core/tests/coretests/res/raw/v30_multibyte_param.vcf
new file mode 100644
index 0000000..cd200e5
--- /dev/null
+++ b/core/tests/coretests/res/raw/v30_multibyte_param.vcf
@@ -0,0 +1,5 @@
+BEGIN:VCARD
+VERSION:3.0
+N:F;G;M;;
+TEL;TYPE="่ดน":1
+END:VCARD
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java b/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
index 21f2254..e0e1f87 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
@@ -1008,4 +1008,26 @@ public class VCardImporterTests extends VCardTestsBase {
.put(Phone.TYPE, Phone.TYPE_PAGER)
.put(Phone.NUMBER, "6101231234@pagersample.com");
}
+
+ public void testMultiBytePropV30_Parse() {
+ mVerifier.initForImportTest(V30, R.raw.v30_multibyte_param);
+ mVerifier.addPropertyNodesVerifierElem()
+ .addExpectedNodeWithOrder("VERSION", "3.0")
+ .addExpectedNodeWithOrder("N", Arrays.asList("F", "G", "M", "", ""))
+ .addExpectedNodeWithOrder("TEL", "1", new TypeSet("\u8D39"));
+ }
+
+ public void testMultiBytePropV30() {
+ mVerifier.initForImportTest(V30, R.raw.v30_multibyte_param);
+ final ContentValuesVerifierElem elem = mVerifier.addContentValuesVerifierElem();
+ elem.addExpected(StructuredName.CONTENT_ITEM_TYPE)
+ .put(StructuredName.FAMILY_NAME, "F")
+ .put(StructuredName.MIDDLE_NAME, "M")
+ .put(StructuredName.GIVEN_NAME, "G")
+ .put(StructuredName.DISPLAY_NAME, "G M F");
+ elem.addExpected(Phone.CONTENT_ITEM_TYPE)
+ .put(Phone.TYPE, Phone.TYPE_CUSTOM)
+ .put(Phone.LABEL, "\u8D39")
+ .put(Phone.NUMBER, "1");
+ }
}
diff --git a/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java b/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
index 59299f9..e805bee 100644
--- a/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
@@ -82,4 +82,34 @@ public class VCardUtilsTests extends TestCase {
assertFalse(VCardUtils.containsOnlyAlphaDigitHyphen(String.valueOf((char)i)));
}
}
+
+ public void testToStringAvailableAsV30ParamValue() {
+ // Smoke tests.
+ assertEquals("HOME", VCardUtils.toStringAvailableAsV30ParameValue("HOME"));
+ assertEquals("TEL", VCardUtils.toStringAvailableAsV30ParameValue("TEL"));
+ assertEquals("PAGER", VCardUtils.toStringAvailableAsV30ParameValue("PAGER"));
+
+ assertEquals("\"\"", VCardUtils.toStringAvailableAsV30ParameValue(""));
+
+ // non-Ascii must be allowed
+ assertEquals("\u4E8B\u52D9\u6240",
+ VCardUtils.toStringAvailableAsV30ParameValue("\u4E8B\u52D9\u6240"));
+ // Reported as bug report.
+ assertEquals("\u8D39", VCardUtils.toStringAvailableAsV30ParameValue("\u8D39"));
+ assertEquals("\"comma,separated\"",
+ VCardUtils.toStringAvailableAsV30ParameValue("comma,separated"));
+ assertEquals("\"colon:aware\"",
+ VCardUtils.toStringAvailableAsV30ParameValue("colon:aware"));
+ // CTL characters.
+ assertEquals("CTLExample",
+ VCardUtils.toStringAvailableAsV30ParameValue("CTL\u0001Example"));
+ // DQUOTE must be removed.
+ assertEquals("quoted",
+ VCardUtils.toStringAvailableAsV30ParameValue("\"quoted\""));
+ // DQUOTE must be removed basically, but we should detect a space, which
+ // require us to use DQUOTE again.
+ // Right-side has one more illegal dquote to test quote-handle code thoroughly.
+ assertEquals("\"Already quoted\"",
+ VCardUtils.toStringAvailableAsV30ParameValue("\"Already quoted\"\""));
+ }
}