From 1e1c24bed274471e40b5bc2af00a56c56b9e8635 Mon Sep 17 00:00:00 2001 From: jsh Date: Fri, 6 Nov 2009 11:37:47 -0800 Subject: Update CdmaSmsTest unit test. Forgot to do this with previous check in. Now that calculateLength() has been fixed to match the actual encoding (ie, doesn't support single-segment EMS), test case needs to be updated. Fixes b/2244483 --- .../src/com/android/unit_tests/CdmaSmsTest.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'tests/AndroidTests/src/com/android') diff --git a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java index 85840a8..db47693 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java +++ b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java @@ -846,6 +846,12 @@ public class CdmaSmsTest extends AndroidTestCase { ArrayList fragments = android.telephony.SmsMessage.fragmentText(text1); assertEquals(fragments.size(), 1); } + + /* + This is not a valid test: we will never encode a single-segment + EMS message. Leaving this here, since we may try to support + this in the future. + // Valid 160 character GSM text -- the last character is // non-ASCII, and so this will currently generate a singleton // EMS message, which is not necessarily supported by Verizon. @@ -860,5 +866,22 @@ public class CdmaSmsTest extends AndroidTestCase { ArrayList fragments = android.telephony.SmsMessage.fragmentText(text2); assertEquals(fragments.size(), 1); } + */ + + // *IF* we supported single-segment EMS, this text would result in a + // single fragment with 7-bit encoding. But we don't, so this text + // results in three fragments of 16-bit encoding. + String text2 = "123456789012345678901234567890123456789012345678901234567890" + + "1234567890123456789012345678901234567890123456789012345678901234567890" + + "12345678901234567890123456789\u00a3"; // Trailing pound-currency sign. + ted = SmsMessage.calculateLength(text2, false); + assertEquals(3, ted.msgCount); + assertEquals(160, ted.codeUnitCount); + assertEquals(3, ted.codeUnitSize); + if (isCdmaPhone) { + ArrayList fragments = android.telephony.SmsMessage.fragmentText(text2); + assertEquals(3, fragments.size()); + } + } } -- cgit v1.1