Home | History | Annotate | Download | only in utils
      1 package com.android.mail.utils;
      2 
      3 import android.test.AndroidTestCase;
      4 import android.test.suitebuilder.annotation.SmallTest;
      5 
      6 /**
      7  * These test cases verify that the HTML email body is transformed correctly to support toggling
      8  * the visibility of quoted text.
      9  */
     10 @SmallTest
     11 public class QuotedHtmlSanitizerTest extends AndroidTestCase {
     12     /**
     13      * Random garbage in a class attribute of a div is stripped.
     14      */
     15     public void testGarbageDiv() {
     16         // any random class value is disallowed
     17         sanitize("<div class=\"garbage\"></div>", "<div></div>");
     18     }
     19 
     20     /**
     21      * For Gmail, <div class="gmail_quote"> indicates the block of quoted text.
     22      */
     23     public void testGmailQuotedTextDiv() {
     24         sanitize("<div class=\"gmail_quote\"></div>", "<div class=\"elided-text\"></div>");
     25     }
     26 
     27     /**
     28      * For Yahoo, <div class="yahoo_quoted"> indicates the block of quoted text.
     29      */
     30     public void testYahooQuotedTextDiv() {
     31         sanitize("<div class=\"yahoo_quoted\"></div>", "<div class=\"elided-text\"></div>");
     32     }
     33 
     34     /**
     35      * For AOL, <div id="AOLMsgPart_RANDOM_GUID"> indicates the block of quoted text.
     36      */
     37     public void testAOLQuotedTextDiv() {
     38         sanitize("<div id=\"AOLMsgPart_1_59da800c-ba5d-45c5-9ff7-29a8264a5bd9\"></div>",
     39                 "<div class=\"elided-text\"></div>");
     40         sanitize("<div id=\"AOLMsgPart_1_b916b4c7-3047-43a9-b24d-83b7ffd2b9b7\"></div>",
     41                 "<div class=\"elided-text\"></div>");
     42     }
     43 
     44     private void sanitize(String dirtyHTML, String expectedHTML) {
     45         final String cleansedHTML = HtmlSanitizer.sanitizeHtml(dirtyHTML);
     46         assertEquals(expectedHTML, cleansedHTML);
     47     }
     48 }
     49