diff --git a/tests/src/com/android/contacts/tests/PhoneNumberTestService.java b/tests/src/com/android/contacts/tests/PhoneNumberTestService.java
index 8178985..a38ef2a 100644
--- a/tests/src/com/android/contacts/tests/PhoneNumberTestService.java
+++ b/tests/src/com/android/contacts/tests/PhoneNumberTestService.java
@@ -94,17 +94,21 @@
     private void dump_PhoneNumberUtil_format(String number, String country,
             PhoneNumberFormat format) {
         String formatted;
+        String truncated = "";
         boolean isValid = false;
         try {
             final PhoneNumberUtil util = PhoneNumberUtil.getInstance();
             final PhoneNumber pn = util.parse(number, country);
             isValid = util.isValidNumber(pn);
             formatted = util.format(pn, format);
+            util.truncateTooLongNumber(pn);
+            truncated = util.format(pn, format);
         } catch (NumberParseException e) {
             formatted = "Error: " + e.toString();
         }
         Log.i(TAG, "  PhoneNumberUtil.format(parse(" + number + ", " + country + "), " + format
-                + ") = " + formatted + (isValid ? " (valid)" : " (invalid)"));
+                + ") = " + formatted + " / truncated = " + truncated
+                + (isValid ? " (valid)" : " (invalid)"));
     }
 
     private String getCurrentCountryCode() {
