Changeset 403 in tests
- Timestamp:
- 08/04/2011 08:21:35 PM (14 years ago)
- Location:
- wp-testcase
- Files:
-
- 2 edited
-
jacob/TestFormatting.php (modified) (1 diff)
-
test_includes_formatting.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wp-testcase/jacob/TestFormatting.php
r401 r403 193 193 } 194 194 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 does238 four unrelated tasks. ;)239 */240 class Test_Convert_Chars extends _WPFormattingTest {241 function test_replaces_windows1252_entities_with_unicode_ones() {242 $input = "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ";243 $output = "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ";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&t", convert_chars("at&t"));258 }259 // what the hell are these? O_o260 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 344 195 /* 345 196 Decodes text in RFC2047 "Q"-encoding, e.g. -
wp-testcase/test_includes_formatting.php
r401 r403 822 822 } 823 823 824 class 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 838 class 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 871 class TestConvertChars extends WPTestCase { 872 function test_replaces_windows1252_entities_with_unicode_ones() { 873 $input = "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ"; 874 $output = "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ"; 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&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 898 class 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 908 class 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 918 class 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 928 class TestUntrailingslashit extends WPTestCase { 929 function test_removes_trailing_slashes() { 930 $this->assertEquals("a", untrailingslashit("a/")); 931 $this->assertEquals("a", untrailingslashit("a////")); 932 } 933 } 934 935 class 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 824 945 ?>
Note: See TracChangeset
for help on using the changeset viewer.