Make WordPress Core

Changeset 403 in tests


Ignore:
Timestamp:
08/04/2011 08:21:35 PM (14 years ago)
Author:
ryan
Message:

Move more formatting tests

Location:
wp-testcase
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wp-testcase/jacob/TestFormatting.php

    r401 r403  
    193193}
    194194
    195 class Test_Sanitize_Title extends _WPFormattingTest {
    196     function test_strips_html() {
    197         $input = "Captain <strong>Awesome</strong>";
    198         $expected = "captain-awesome";
    199         $this->assertEquals($expected, sanitize_title($input));
    200     }
    201    
    202     function test_titles_sanitized_to_nothing_are_replaced_with_optional_fallback() {
    203         $input = "<strong></strong>";
    204         $fallback = "Captain Awesome";
    205         $this->assertEquals($fallback, sanitize_title($input, $fallback));
    206     }
    207 }
    208 
    209 class Test_Sanitize_Title_With_Dashes extends _WPFormattingTest {
    210     function test_strips_html() {
    211         $input = "Captain <strong>Awesome</strong>";
    212         $expected = "captain-awesome";
    213         $this->assertEquals($expected, sanitize_title($input));
    214     }
    215     function test_strips_unencoded_percent_signs() {
    216         $this->assertEquals("fran%c3%a7ois", sanitize_title_with_dashes("fran%c3%a7%ois"));
    217     }
    218     function test_makes_title_lowercase() {
    219         $this->assertEquals("abc", sanitize_title_with_dashes("ABC"));
    220     }
    221     function test_replaces_any_amount_of_whitespace_with_one_hyphen() {
    222         $this->assertEquals("a-t", sanitize_title_with_dashes("a          t"));
    223         $this->assertEquals("a-t", sanitize_title_with_dashes("a    \n\n\nt"));
    224     }
    225     function test_replaces_any_number_of_hyphens_with_one_hyphen() {
    226         $this->assertEquals("a-t-t", sanitize_title_with_dashes("a----t----t"));
    227     }
    228     function test_trims_trailing_hyphens() {
    229         $this->assertEquals("a-t-t", sanitize_title_with_dashes("a----t----t----"));
    230     }
    231     function test_handles_non_entity_ampersands() {
    232         $this->assertEquals("penn-teller-bull", sanitize_title_with_dashes("penn & teller bull"));
    233     }
    234 }
    235 
    236 /*
    237 `convert_chars` is a poorly named function that does
    238 four unrelated tasks. ;)
    239 */
    240 class Test_Convert_Chars extends _WPFormattingTest {
    241     function test_replaces_windows1252_entities_with_unicode_ones() {
    242         $input = "&#130;&#131;&#132;&#133;&#134;&#135;&#136;&#137;&#138;&#139;&#140;&#145;&#146;&#147;&#148;&#149;&#150;&#151;&#152;&#153;&#154;&#155;&#156;&#159;";
    243         $output = "&#8218;&#402;&#8222;&#8230;&#8224;&#8225;&#710;&#8240;&#352;&#8249;&#338;&#8216;&#8217;&#8220;&#8221;&#8226;&#8211;&#8212;&#732;&#8482;&#353;&#8250;&#339;&#376;";
    244         $this->assertEquals($output, convert_chars($input));
    245     }
    246     function test_converts_html_br_and_hr_to_the_xhtml_self_closing_variety() {
    247         $inputs = array(
    248             "abc <br> lol <br />" => "abc <br /> lol <br />",
    249             "<BR> HO HO <HR>"     => "<br /> ho ho <hr />",
    250             "<hr><br>"            => "<hr /><br />"
    251             );
    252         foreach ($inputs as $input => $expected) {
    253             $this->assertEquals($expected, convert_chars($input));
    254         }
    255     }
    256     function test_escapes_lone_ampersands() {
    257         $this->assertEquals("at&#038;t", convert_chars("at&t"));
    258     }
    259     // what the hell are these? O_o
    260     function test_removes_category_and_title_metadata_tags() {
    261         $this->assertEquals("", convert_chars("<title><div class='lol'>abc</div></title><category>a</category>"));
    262     }
    263 }
    264 
    265 class Test_Funky_JavaScript_Fix extends _WPFormattingTest {
    266     function test_does_nothing_if_not_mac_or_win_ie() {
    267         global $is_macIE, $is_winIE;
    268         $prev = array($is_macIE, $is_winIE);
    269         $is_macIE = $is_winIE = false;
    270         $data = $this->get_testdata("utf-8-u-urlencoded.txt");
    271         foreach ($data as $datum) {
    272             $this->assertEquals($datum, funky_javascript_fix($datum));
    273         }
    274         $is_macIE = $prev[0];
    275         $is_winIE = $prev[1];
    276     }
    277     function test_converts_u_percent_encoded_values_if_mac_ie() {
    278         global $is_macIE;
    279         $prev = $is_macIE;
    280         $is_macIE = true;
    281         $this->_run();
    282         $is_macIE = $prev;
    283     }
    284     function test_converts_u_percent_encoded_values_if_win_ie() {
    285         global $is_winIE;
    286         $prev = $is_winIE;
    287         $is_winIE = true;
    288         $this->_run();
    289         $is_winIE = $prev;
    290     }
    291     function _run() {
    292         $input = $this->get_testdata("utf-8-u-urlencoded.txt");
    293         $output = $this->get_testdata("utf-8-entitized.txt");
    294         for ($i=0; $i<count($input); ++$i) {
    295             $this->assertEquals($output[$i], funky_javascript_fix($input[$i]));
    296         }
    297     }
    298 }
    299 
    300 
    301 class Test_BalanceTags extends _WPFormattingTest {
    302     function test_adds_missing_end_tags() {
    303         $this->assertEquals("<b><i>abc</i></b>", balanceTags("<b><i>abc</b>", true));
    304     }
    305     function test_fixes_simple_bad_nesting() {
    306         $this->assertEquals("<b><i>abc</i></b>", balanceTags("<b><i>abc</b></i>", true));
    307     }
    308 }
    309 
    310 class Test_Zeroise extends _WPFormattingTest {
    311     function test_pads_with_leading_zeroes() {
    312         $this->assertEquals("00005", zeroise(5, 5));
    313     }
    314     function test_does_nothing_if_input_is_already_longer() {
    315         $this->assertEquals("5000000", zeroise(5000000, 2));
    316     }
    317 }
    318 
    319 class Test_Backslashit extends _WPFormattingTest {
    320     function test_backslashes_alphas() {
    321         $this->assertEquals("\\a943\\b\\c", backslashit("a943bc"));
    322     }
    323     function test_double_backslashes_leading_numbers() {
    324         $this->assertEquals("\\\\95", backslashit("95"));
    325     }
    326 }
    327 
    328 class Test_Untrailingslashit extends _WPFormattingTest {
    329     function test_removes_trailing_slashes() {
    330         $this->assertEquals("a", untrailingslashit("a/"));
    331         $this->assertEquals("a", untrailingslashit("a////"));
    332     }
    333 }
    334 
    335 class Test_Trailingslashit extends _WPFormattingTest {
    336     function test_adds_trailing_slash() {
    337         $this->assertEquals("a/", trailingslashit("a"));
    338     }
    339     function test_does_not_add_trailing_slash_if_one_exists() {
    340         $this->assertEquals("a/", trailingslashit("a/"));
    341     }
    342 }
    343 
    344195/*
    345196Decodes text in RFC2047 "Q"-encoding, e.g.
  • wp-testcase/test_includes_formatting.php

    r401 r403  
    822822}
    823823
     824class TestSanitizeTitle extends WPTestCase {
     825    function test_strips_html() {
     826        $input = "Captain <strong>Awesome</strong>";
     827        $expected = "captain-awesome";
     828        $this->assertEquals($expected, sanitize_title($input));
     829    }
     830
     831    function test_titles_sanitized_to_nothing_are_replaced_with_optional_fallback() {
     832        $input = "<strong></strong>";
     833        $fallback = "Captain Awesome";
     834        $this->assertEquals($fallback, sanitize_title($input, $fallback));
     835    }
     836}
     837
     838class TestSanitizeTitleWithDashes extends WPTestCase {
     839    function test_strips_html() {
     840        $input = "Captain <strong>Awesome</strong>";
     841        $expected = "captain-awesome";
     842        $this->assertEquals($expected, sanitize_title($input));
     843    }
     844
     845    function test_strips_unencoded_percent_signs() {
     846        $this->assertEquals("fran%c3%a7ois", sanitize_title_with_dashes("fran%c3%a7%ois"));
     847    }
     848
     849    function test_makes_title_lowercase() {
     850        $this->assertEquals("abc", sanitize_title_with_dashes("ABC"));
     851    }
     852
     853    function test_replaces_any_amount_of_whitespace_with_one_hyphen() {
     854        $this->assertEquals("a-t", sanitize_title_with_dashes("a          t"));
     855        $this->assertEquals("a-t", sanitize_title_with_dashes("a    \n\n\nt"));
     856    }
     857
     858    function test_replaces_any_number_of_hyphens_with_one_hyphen() {
     859        $this->assertEquals("a-t-t", sanitize_title_with_dashes("a----t----t"));
     860    }
     861
     862    function test_trims_trailing_hyphens() {
     863        $this->assertEquals("a-t-t", sanitize_title_with_dashes("a----t----t----"));
     864    }
     865
     866    function test_handles_non_entity_ampersands() {
     867        $this->assertEquals("penn-teller-bull", sanitize_title_with_dashes("penn & teller bull"));
     868    }
     869}
     870
     871class TestConvertChars extends WPTestCase {
     872    function test_replaces_windows1252_entities_with_unicode_ones() {
     873        $input = "&#130;&#131;&#132;&#133;&#134;&#135;&#136;&#137;&#138;&#139;&#140;&#145;&#146;&#147;&#148;&#149;&#150;&#151;&#152;&#153;&#154;&#155;&#156;&#159;";
     874        $output = "&#8218;&#402;&#8222;&#8230;&#8224;&#8225;&#710;&#8240;&#352;&#8249;&#338;&#8216;&#8217;&#8220;&#8221;&#8226;&#8211;&#8212;&#732;&#8482;&#353;&#8250;&#339;&#376;";
     875        $this->assertEquals($output, convert_chars($input));
     876    }
     877
     878    function test_converts_html_br_and_hr_to_the_xhtml_self_closing_variety() {
     879        $inputs = array(
     880            "abc <br> lol <br />" => "abc <br /> lol <br />",
     881            "<BR> HO HO <HR>"     => "<br /> ho ho <hr />",
     882            "<hr><br>"            => "<hr /><br />"
     883            );
     884        foreach ($inputs as $input => $expected) {
     885            $this->assertEquals($expected, convert_chars($input));
     886        }
     887    }
     888
     889    function test_escapes_lone_ampersands() {
     890        $this->assertEquals("at&#038;t", convert_chars("at&t"));
     891    }
     892
     893    function test_removes_category_and_title_metadata_tags() {
     894        $this->assertEquals("", convert_chars("<title><div class='lol'>abc</div></title><category>a</category>"));
     895    }
     896}
     897
     898class TestBalanceTags extends WPTestCase {
     899    function test_adds_missing_end_tags() {
     900        $this->assertEquals("<b><i>abc</i></b>", balanceTags("<b><i>abc</b>", true));
     901    }
     902
     903    function test_fixes_simple_bad_nesting() {
     904        $this->assertEquals("<b><i>abc</i></b>", balanceTags("<b><i>abc</b></i>", true));
     905    }
     906}
     907
     908class TestZeroise extends WPTestCase {
     909    function test_pads_with_leading_zeroes() {
     910        $this->assertEquals("00005", zeroise(5, 5));
     911    }
     912
     913    function test_does_nothing_if_input_is_already_longer() {
     914        $this->assertEquals("5000000", zeroise(5000000, 2));
     915    }
     916}
     917
     918class TestBackslashit extends WPTestCase {
     919    function test_backslashes_alphas() {
     920        $this->assertEquals("\\a943\\b\\c", backslashit("a943bc"));
     921    }
     922
     923    function test_double_backslashes_leading_numbers() {
     924        $this->assertEquals("\\\\95", backslashit("95"));
     925    }
     926}
     927
     928class TestUntrailingslashit extends WPTestCase {
     929    function test_removes_trailing_slashes() {
     930        $this->assertEquals("a", untrailingslashit("a/"));
     931        $this->assertEquals("a", untrailingslashit("a////"));
     932    }
     933}
     934
     935class TestTrailingslashit extends WPTestCase {
     936    function test_adds_trailing_slash() {
     937        $this->assertEquals("a/", trailingslashit("a"));
     938    }
     939
     940    function test_does_not_add_trailing_slash_if_one_exists() {
     941        $this->assertEquals("a/", trailingslashit("a/"));
     942    }
     943}
     944
    824945?>
Note: See TracChangeset for help on using the changeset viewer.