EscHtml.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. /**
  3. * @group formatting
  4. */
  5. class Tests_Formatting_EscHtml extends WP_UnitTestCase {
  6. function test_esc_html_basics() {
  7. // Simple string
  8. $html = "The quick brown fox.";
  9. $this->assertEquals( $html, esc_html( $html ) );
  10. // URL with &
  11. $html = "http://localhost/trunk/wp-login.php?action=logout&_wpnonce=cd57d75985";
  12. $escaped = "http://localhost/trunk/wp-login.php?action=logout&amp;_wpnonce=cd57d75985";
  13. $this->assertEquals( $escaped, esc_html( $html ) );
  14. // SQL query
  15. $html = "SELECT meta_key, meta_value FROM wp_trunk_sitemeta WHERE meta_key IN ('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled') AND site_id = 1";
  16. $escaped = "SELECT meta_key, meta_value FROM wp_trunk_sitemeta WHERE meta_key IN (&#039;site_name&#039;, &#039;siteurl&#039;, &#039;active_sitewide_plugins&#039;, &#039;_site_transient_timeout_theme_roots&#039;, &#039;_site_transient_theme_roots&#039;, &#039;site_admins&#039;, &#039;can_compress_scripts&#039;, &#039;global_terms_enabled&#039;) AND site_id = 1";
  17. $this->assertEquals( $escaped, esc_html( $html ) );
  18. }
  19. function test_escapes_ampersands() {
  20. $source = "penn & teller & at&t";
  21. $res = "penn &amp; teller &amp; at&amp;t";
  22. $this->assertEquals( $res, esc_html($source) );
  23. }
  24. function test_escapes_greater_and_less_than() {
  25. $source = "this > that < that <randomhtml />";
  26. $res = "this &gt; that &lt; that &lt;randomhtml /&gt;";
  27. $this->assertEquals( $res, esc_html($source) );
  28. }
  29. function test_ignores_existing_entities() {
  30. $source = '&#038; &#x00A3; &#x22; &amp;';
  31. $res = '&amp; &#xA3; &quot; &amp;';
  32. $this->assertEquals( $res, esc_html($source) );
  33. }
  34. }