diff options
author | Scott Kennedy <skennedy@google.com> | 2013-03-25 16:05:55 -0400 |
---|---|---|
committer | Scott Kennedy <skennedy@google.com> | 2013-03-25 16:26:09 -0400 |
commit | 01c196a99604d9fbd5e3903e2e9140799ab8467b (patch) | |
tree | d7d60b23674057710d7b7ccab505e89f04f93454 /tests/src | |
parent | 07d7548a70aa2c25c934fb3aa0608d6c7e8eb427 (diff) | |
download | android_packages_apps_UnifiedEmail-01c196a99604d9fbd5e3903e2e9140799ab8467b.tar.gz android_packages_apps_UnifiedEmail-01c196a99604d9fbd5e3903e2e9140799ab8467b.tar.bz2 android_packages_apps_UnifiedEmail-01c196a99604d9fbd5e3903e2e9140799ab8467b.zip |
Strip out <style> tags when we create notification text
Bug: 8466652
Change-Id: I683d8ad26285164e250e553dcdf82baafecae24b
Diffstat (limited to 'tests/src')
-rw-r--r-- | tests/src/com/android/mail/utils/NotificationUtilsTest.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/src/com/android/mail/utils/NotificationUtilsTest.java b/tests/src/com/android/mail/utils/NotificationUtilsTest.java new file mode 100644 index 000000000..9ee21cdf2 --- /dev/null +++ b/tests/src/com/android/mail/utils/NotificationUtilsTest.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.mail.utils; + +import android.test.AndroidTestCase; + +import com.android.mail.utils.NotificationUtils.MailMessagePlainTextConverter; +import com.google.android.common.html.parser.HtmlTree; + +public class NotificationUtilsTest extends AndroidTestCase { + /** + * Verifies that we strip out <style /> tags. + */ + public void testMailMessagePlainTextConverterStyles() { + final String expectedText = "This test passed!"; + final String html = "<body style=3D=22margin:0; padding:0;=22>" + + "<style type=3D=22text/css=22>=20" + + "=2EReadMsgBody =7B width: 100%;=7D" + + " img =7Bdisplay: block;=7D" + + " html =7B -webkit-text-size-adjust:none; =7D</style>" + + expectedText + "</body>"; + + // Get the html "tree" for this message body + final HtmlTree htmlTree = Utils.getHtmlTree(html); + htmlTree.setPlainTextConverterFactory(new HtmlTree.PlainTextConverterFactory() { + @Override + public HtmlTree.PlainTextConverter createInstance() { + return new MailMessagePlainTextConverter(); + } + }); + + final String resultText = htmlTree.getPlainText(); + + assertEquals(expectedText, resultText); + } + + /** + * Verifies that we strip out nested <style /> tags. + */ + public void testMailMessagePlainTextConverterNestedStyles() { + final String expectedText = "This test passed!"; + final String html = "<body style=3D=22margin:0; padding:0;=22>" + + "<style type=3D=22text/css=22>=20" + + "=2EReadMsgBody =7B width: 100%;=7D" + + " img =7Bdisplay: block;=7D" + + " html =7B -webkit-text-size-adjust:none; =7D" + + " <style>html =7B -webkit-text-size-adjust:none; =7D</style></style>" + + expectedText + "</body>"; + + // Get the html "tree" for this message body + final HtmlTree htmlTree = Utils.getHtmlTree(html); + htmlTree.setPlainTextConverterFactory(new HtmlTree.PlainTextConverterFactory() { + @Override + public HtmlTree.PlainTextConverter createInstance() { + return new MailMessagePlainTextConverter(); + } + }); + + final String resultText = htmlTree.getPlainText(); + + assertEquals(expectedText, resultText); + } +} |