Android logcat - 不输出双新行 - 带有双新行的字符串 - 字符串等于

时间:2014-04-16 09:36:05

标签: java android string newline android-logcat

我在我的应用中测试方法。我正在从存储的联系人生成一个vcard并将其与硬编码的vcard进行比较。它们应该完全相同vcard,它们是。logcat。问题是测试失败了,不明白如何。

\n\n输出看起来很明显它没有打印双新行(public void testGetContactAsVcard() { String vcardActual = utils.getContactAsVcard(contact.getAllContactIds().get(0)); // This is the vcard for the first contact (position zero) String vcardExpected = "BEGIN:VCARD" + "\nVERSION:2.1" + "\nN:Klisnmann;Jurgen;;;" + "\nFN:Jurgen Klinsmann" + "\nX-ANDROID-CUSTOM:vnd.android.cursor.item/nickname;mynickname;;;;;;;;;;;;;;" + "\nTEL;CELL:922-222-222" + "\nTEL;WORK:911-222-333" + "\nEMAIL;WORK:work@mail.com" + "\nEMAIL;HOME:home@mail.com" + "\nADR;WORK:poBox;;StreetSomething;Berlin Alexanderplatz;Berlin;28000;Germany" + "\nADR;HOME:poBox;;MyStreet20;Berlin Potsdam;Berlin;2800;Germany" + "\nORG:MAT\\;MobileDept." + "\nTITLE:Eng." + "\nURL:www.company.com" + "\nURL:myblog.com" + "\nURL:custom.com" + "\nPHOTO;ENCODING=BASE64;JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM" + "\n EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/" + "\n 2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF" + "\n BQUFBQUFBQUFBQUFBT/wAARCAAkAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA" + "\n ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE" + "\n II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn" + "\n aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJy" + "\n tLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAw" + "\n QFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobH" + "\n BCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp" + "\n anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0" + "\n tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD778e+J/Gem65qtvo1hq" + "\n 1xEvlm0ktrSN4MeWC4JMZZiW44OBn2xXis3xn/AGjl0Cyv4vhRrD3rrbG60trmzWeLc0iziNv" + "\n LMchj2Iy5dA6yryjBkH0z4v8ACOjeMrq1tNd8MLrlnAsjq9wI3gbzYZraWOSNmHmKYZ5QVZWU" + "\n iTpkDGdtg0fw/peoSeG/E0kklrb6e+lvfG8njFxJBCwuALh45HjAVnnLOVRZSJCGbd1RxCXLC" + "\n ME3tt+tnvonta76rXilQbbk5v8AHv5M8/8A+Er+J3/PDUv/AAVL/wDG6uaB4n+JE/iTSoby3v" + "\n hpsk6LcySaeEwu9QR/qum3dlsjGB1zkeneAPDuneFvCGm6dpejzaBaIjS/2fdSiWeOSRjJKZp" + "\n A8nmStI7s8hdy7szFmJJPQVp9ai42dOKf9eRH1SUZXVWTX9eYUUUVwnoBWb4m1RtD8OatqSmM" + "\n NZ2ktwDN9wFEZvm5HHHPIrSrlPiz/wAks8Zf9ga8/wDRD0AeIeMPiX8Z9KN2+geD9b1wR2KGC" + "\n A29tCZrsJcM4Lso2RsUt0U7WIabJyoYrytz8a/2j0YSQfCTWpbc2c1xse6sknEwmKQwFdhTcy" + "\n bJWbftRd4BkdVV/fNV0rf4m0vUZfBfiO6ure/QRT6draJa26tPdIbh4mu4wVCSGWVRGzMssSh" + "\n ZWiCx7EngfSotd0HUBYaxdXtiJ7KG7bV52FvC6l3Moef96jtHGMEO27yiQAm5OxYi7XuJaX6e" + "\n fdenn5dHwPDSjf32/m/Ls/X+tvBdU+Lfxx0uXUlT4eeJNWS3uYI7Z9NhscXULx7pJR5xiKGNw" + "\n yFW+9mMqSGfy/S/AfiLx/feMbS31qC7TSGVi8ktkIwW2OcMfLG0ZCYO7kkjA79d4k+DvgrxnN" + "\n HL4l8NWHiYx2n2JE12P7fGkOQWASbcoLlU3tjc/lpuLbFx2NH1hOLi4LX0/wAkOOGlGSftHp6" + "\n 6/j1MPWtQiXUbPT5E1SJrkhI7qygd4txDEq7qCIwAmdz7V5UBstg+CXnwign1i31GT4mfHExa" + "\n 74fewt5oZ5UgsPNltx5zW62oaG7YXbAPNGfKVJmxEYEZPTfHniPUZtZfTbDVLzQ/sodGns7mz" + "\n QzNJAwQkXEEuNjMHUjA3Iu/cpKmjffE+7ayRlW4t/OkSRZILy3aRVQpuQqYW2q+0g7hnEjbSM" + "\n KV5oN025Q62v8AK9vzv8nfodjSerV7X8t9/wAhPBep3llqN/pUuifEJl0i/Ed9rutS28kWoub" + "\n YytcRokpLRHy4l8u1iRBJchEjGycQ9dD421CXxVa6R/whfiCOxnLg645sxZxYTcN6/aPOG4go" + "\n MRH5hzgFSfPYviLqMev22oNqesSWkXm79KaWz+zTb3kZdzC0Eo2B1Vdsi5ESbtxLl+l0z4yLq" + "\n Gt2GmnSHje6cIJBKzKo3KpJOzGfmGASCcHHQ4540VSd4NO/l/w34L7zWU3Pf+vvuekUUUVqQF" + "\n cj8XoI7j4VeMVljWVRpF24V1BAZYXKn6ggEehArrqz/EOnyatoGp2MLIs1zaywoXJChmQgZxn" + "\n jmgDy34u/C3TfHzaBd3vjD4k+HbLR/tFitr4R1K9tBevcHyEkuPIQzSeSyLIkhIRc73LozZ6X" + "\n wj4bddRl1h9c8XXVrLI11ZaLq7rHFa5EisRhFkYSeYXEVzI/lnYFSHYFXh4vBPipXiaTwvBNs" + "\n GCrXaKH4wM7ZB7cjGcc55zWPw98Wkk/2Fj2F5F/8VWvsanLZSX3r/P+vvvze0p31T+5/wCR6L" + "\n 4Z+KFxrtnc3l74H8V+HbS3muoHk1OzhZy0EkceUhgmlldZGeTy2VCrLbu+QjwtLpeBvGl3400" + "\n rT9Qm8J674ZhvbCK+WLXUt4poi7OPIkijmd0lVVVmUjAEijO8OqeUf8K88W/9AP8A8nIf/iq2" + "\n oqCwooooAKKKKACiiigD/2Q==" + "\n\nNOTE:Somenotes..." + "\nX-ANDROID-CUSTOM:vnd.android.cursor.item/contact_event;1985-07-20;1;;;;;;;;;;;;;" + "\nEND:VCARD"; Log.d(TAG, "vcard actual: " + vcardActual); Log.d(TAG, "vcard expected: " + vcardExpected); assertEquals(vcardExpected, vcardActual); }

这是我的代码:

logcat

这是vcard actual: BEGIN:VCARD VERSION:2.1 N:Klisnmann;Jurgen;;; FN:Jurgen Klinsmann X-ANDROID-CUSTOM:vnd.android.cursor.item/nickname;mynickname;;;;;;;;;;;;;; TEL;CELL:922-222-222 TEL;WORK:911-222-333 EMAIL;WORK:work@mail.com EMAIL;HOME:home@mail.com ADR;WORK:poBox;;StreetSomething;Berlin Alexanderplatz;Berlin;28000;Germany ADR;HOME:poBox;;MyStreet20;Berlin Potsdam;Berlin;2800;Germany ORG:MAT\;MobileDept. TITLE:Eng. URL:www.company.com URL:myblog.com URL:custom.com PHOTO;ENCODING=BASE64;JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/ 2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF BQUFBQUFBQUFBQUFBT/wAARCAAkAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJy tLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAw QFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobH BCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0 tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD778e+J/Gem65qtvo1hq 1xEvlm0ktrSN4MeWC4JMZZiW44OBn2xXis3xn/AGjl0Cyv4vhRrD3rrbG60trmzWeLc0iziNv LMchj2Iy5dA6yryjBkH0z4v8ACOjeMrq1tNd8MLrlnAsjq9wI3gbzYZraWOSNmHmKYZ5QVZWU iTpkDGdtg0fw/peoSeG/E0kklrb6e+lvfG8njFxJBCwuALh45HjAVnnLOVRZSJCGbd1RxCXLC ME3tt+tnvonta76rXilQbbk5v8AHv5M8/8A+Er+J3/PDUv/AAVL/wDG6uaB4n+JE/iTSoby3v hpsk6LcySaeEwu9QR/qum3dlsjGB1zkeneAPDuneFvCGm6dpejzaBaIjS/2fdSiWeOSRjJKZp A8nmStI7s8hdy7szFmJJPQVp9ai42dOKf9eRH1SUZXVWTX9eYUUUVwnoBWb4m1RtD8OatqSmM NZ2ktwDN9wFEZvm5HHHPIrSrlPiz/wAks8Zf9ga8/wDRD0AeIeMPiX8Z9KN2+geD9b1wR2KGC A29tCZrsJcM4Lso2RsUt0U7WIabJyoYrytz8a/2j0YSQfCTWpbc2c1xse6sknEwmKQwFdhTcy bJWbftRd4BkdVV/fNV0rf4m0vUZfBfiO6ure/QRT6draJa26tPdIbh4mu4wVCSGWVRGzMssSh ZWiCx7EngfSotd0HUBYaxdXtiJ7KG7bV52FvC6l3Moef96jtHGMEO27yiQAm5OxYi7XuJaX6e fdenn5dHwPDSjf32/m/Ls/X+tvBdU+Lfxx0uXUlT4eeJNWS3uYI7Z9NhscXULx7pJR5xiKGNw yFW+9mMqSGfy/S/AfiLx/feMbS31qC7TSGVi8ktkIwW2OcMfLG0ZCYO7kkjA79d4k+DvgrxnN HL4l8NWHiYx2n2JE12P7fGkOQWASbcoLlU3tjc/lpuLbFx2NH1hOLi4LX0/wAkOOGlGSftHp6 6/j1MPWtQiXUbPT5E1SJrkhI7qygd4txDEq7qCIwAmdz7V5UBstg+CXnwign1i31GT4mfHExa 74fewt5oZ5UgsPNltx5zW62oaG7YXbAPNGfKVJmxEYEZPTfHniPUZtZfTbDVLzQ/sodGns7mz QzNJAwQkXEEuNjMHUjA3Iu/cpKmjffE+7ayRlW4t/OkSRZILy3aRVQpuQqYW2q+0g7hnEjbSM KV5oN025Q62v8AK9vzv8nfodjSerV7X8t9/wAhPBep3llqN/pUuifEJl0i/Ed9rutS28kWoub YytcRokpLRHy4l8u1iRBJchEjGycQ9dD421CXxVa6R/whfiCOxnLg645sxZxYTcN6/aPOG4go MRH5hzgFSfPYviLqMev22oNqesSWkXm79KaWz+zTb3kZdzC0Eo2B1Vdsi5ESbtxLl+l0z4yLq Gt2GmnSHje6cIJBKzKo3KpJOzGfmGASCcHHQ4540VSd4NO/l/w34L7zWU3Pf+vvuekUUUVqQF cj8XoI7j4VeMVljWVRpF24V1BAZYXKn6ggEehArrqz/EOnyatoGp2MLIs1zaywoXJChmQgZxn jmgDy34u/C3TfHzaBd3vjD4k+HbLR/tFitr4R1K9tBevcHyEkuPIQzSeSyLIkhIRc73LozZ6X wj4bddRl1h9c8XXVrLI11ZaLq7rHFa5EisRhFkYSeYXEVzI/lnYFSHYFXh4vBPipXiaTwvBNs GCrXaKH4wM7ZB7cjGcc55zWPw98Wkk/2Fj2F5F/8VWvsanLZSX3r/P+vvvze0p31T+5/wCR6L 4Z+KFxrtnc3l74H8V+HbS3muoHk1OzhZy0EkceUhgmlldZGeTy2VCrLbu+QjwtLpeBvGl3400 rT9Qm8J674ZhvbCK+WLXUt4poi7OPIkijmd0lVVVmUjAEijO8OqeUf8K88W/9AP8A8nIf/iq2 oqCwooooAKKKKACiiigD/2Q== NOTE:Somenotes... X-ANDROID-CUSTOM:vnd.android.cursor.item/contact_event;1985-07-20;1;;;;;;;;;;;;; END:VCARD vcard expected: BEGIN:VCARD VERSION:2.1 N:Klisnmann;Jurgen;;; FN:Jurgen Klinsmann X-ANDROID-CUSTOM:vnd.android.cursor.item/nickname;mynickname;;;;;;;;;;;;;; TEL;CELL:922-222-222 TEL;WORK:911-222-333 EMAIL;WORK:work@mail.com EMAIL;HOME:home@mail.com ADR;WORK:poBox;;StreetSomething;Berlin Alexanderplatz;Berlin;28000;Germany ADR;HOME:poBox;;MyStreet20;Berlin Potsdam;Berlin;2800;Germany ORG:MAT\;MobileDept. TITLE:Eng. URL:www.company.com URL:myblog.com URL:custom.com PHOTO;ENCODING=BASE64;JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/ 2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF BQUFBQUFBQUFBQUFBT/wAARCAAkAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJy tLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAw QFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobH BCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0 tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD778e+J/Gem65qtvo1hq 1xEvlm0ktrSN4MeWC4JMZZiW44OBn2xXis3xn/AGjl0Cyv4vhRrD3rrbG60trmzWeLc0iziNv LMchj2Iy5dA6yryjBkH0z4v8ACOjeMrq1tNd8MLrlnAsjq9wI3gbzYZraWOSNmHmKYZ5QVZWU iTpkDGdtg0fw/peoSeG/E0kklrb6e+lvfG8njFxJBCwuALh45HjAVnnLOVRZSJCGbd1RxCXLC ME3tt+tnvonta76rXilQbbk5v8AHv5M8/8A+Er+J3/PDUv/AAVL/wDG6uaB4n+JE/iTSoby3v hpsk6LcySaeEwu9QR/qum3dlsjGB1zkeneAPDuneFvCGm6dpejzaBaIjS/2fdSiWeOSRjJKZp A8nmStI7s8hdy7szFmJJPQVp9ai42dOKf9eRH1SUZXVWTX9eYUUUVwnoBWb4m1RtD8OatqSmM NZ2ktwDN9wFEZvm5HHHPIrSrlPiz/wAks8Zf9ga8/wDRD0AeIeMPiX8Z9KN2+geD9b1wR2KGC A29tCZrsJcM4Lso2RsUt0U7WIabJyoYrytz8a/2j0YSQfCTWpbc2c1xse6sknEwmKQwFdhTcy bJWbftRd4BkdVV/fNV0rf4m0vUZfBfiO6ure/QRT6draJa26tPdIbh4mu4wVCSGWVRGzMssSh ZWiCx7EngfSotd0HUBYaxdXtiJ7KG7bV52FvC6l3Moef96jtHGMEO27yiQAm5OxYi7XuJaX6e fdenn5dHwPDSjf32/m/Ls/X+tvBdU+Lfxx0uXUlT4eeJNWS3uYI7Z9NhscXULx7pJR5xiKGNw yFW+9mMqSGfy/S/AfiLx/feMbS31qC7TSGVi8ktkIwW2OcMfLG0ZCYO7kkjA79d4k+DvgrxnN HL4l8NWHiYx2n2JE12P7fGkOQWASbcoLlU3tjc/lpuLbFx2NH1hOLi4LX0/wAkOOGlGSftHp6 6/j1MPWtQiXUbPT5E1SJrkhI7qygd4txDEq7qCIwAmdz7V5UBstg+CXnwign1i31GT4mfHExa 74fewt5oZ5UgsPNltx5zW62oaG7YXbAPNGfKVJmxEYEZPTfHniPUZtZfTbDVLzQ/sodGns7mz QzNJAwQkXEEuNjMHUjA3Iu/cpKmjffE+7ayRlW4t/OkSRZILy3aRVQpuQqYW2q+0g7hnEjbSM KV5oN025Q62v8AK9vzv8nfodjSerV7X8t9/wAhPBep3llqN/pUuifEJl0i/Ed9rutS28kWoub YytcRokpLRHy4l8u1iRBJchEjGycQ9dD421CXxVa6R/whfiCOxnLg645sxZxYTcN6/aPOG4go MRH5hzgFSfPYviLqMev22oNqesSWkXm79KaWz+zTb3kZdzC0Eo2B1Vdsi5ESbtxLl+l0z4yLq Gt2GmnSHje6cIJBKzKo3KpJOzGfmGASCcHHQ4540VSd4NO/l/w34L7zWU3Pf+vvuekUUUVqQF cj8XoI7j4VeMVljWVRpF24V1BAZYXKn6ggEehArrqz/EOnyatoGp2MLIs1zaywoXJChmQgZxn jmgDy34u/C3TfHzaBd3vjD4k+HbLR/tFitr4R1K9tBevcHyEkuPIQzSeSyLIkhIRc73LozZ6X wj4bddRl1h9c8XXVrLI11ZaLq7rHFa5EisRhFkYSeYXEVzI/lnYFSHYFXh4vBPipXiaTwvBNs GCrXaKH4wM7ZB7cjGcc55zWPw98Wkk/2Fj2F5F/8VWvsanLZSX3r/P+vvvze0p31T+5/wCR6L 4Z+KFxrtnc3l74H8V+HbS3muoHk1OzhZy0EkceUhgmlldZGeTy2VCrLbu+QjwtLpeBvGl3400 rT9Qm8J674ZhvbCK+WLXUt4poi7OPIkijmd0lVVVmUjAEijO8OqeUf8K88W/9AP8A8nIf/iq2 oqCwooooAKKKKACiiigD/2Q== NOTE:Somenotes... X-ANDROID-CUSTOM:vnd.android.cursor.item/contact_event;1985-07-20;1;;;;;;;;;;;;; END:VCARD 输出:

vcardActual

正如您所看到的,在PHOTONOTE之间的vcardExpected中有一个新的空行,但\n\n中不会发生这种情况。已在NOTE之前放置PHOTO

我希望NOTE和{{1}}之间有一个空的新行,但出于某种原因,它不会发生。为什么以及如何发生这种情况?

1 个答案:

答案 0 :(得分:0)

得到了解决方案。

首先 - > 永远不要完全依赖logcat!新行总是在那里,但由于某种我还不知道的原因,logcat没有输出它。

第二 - &gt; JUnit正在添加[]<>new line

解决方案:从两个字符串中删除所有空格和新行并进行比较。

final String vcardNoWhiteSpacesNoNewLinesExpected = vcardExpected.replace("\n", "").replace("\r", "").replace(" ", "");
final String vcardNoWhiteSpacesNoNewLinesActual = vcardActual.replace("\n", "").replace("\r", "").replace(" ", "");

他们现在都匹配,问题解决了。