LinkUtilsTest.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. require_once 'application/LinkUtils.php';
  3. /**
  4. * Class LinkUtilsTest.
  5. */
  6. class LinkUtilsTest extends PHPUnit_Framework_TestCase
  7. {
  8. /**
  9. * Test html_extract_title() when the title is found.
  10. */
  11. public function testHtmlExtractExistentTitle()
  12. {
  13. $title = 'Read me please.';
  14. $html = '<html><meta>stuff</meta><title>'. $title .'</title></html>';
  15. $this->assertEquals($title, html_extract_title($html));
  16. }
  17. /**
  18. * Test html_extract_title() when the title is not found.
  19. */
  20. public function testHtmlExtractNonExistentTitle()
  21. {
  22. $html = '<html><meta>stuff</meta></html>';
  23. $this->assertFalse(html_extract_title($html));
  24. }
  25. /**
  26. * Test get_charset() with all priorities.
  27. */
  28. public function testGetCharset()
  29. {
  30. $headers = array('Content-Type' => 'text/html; charset=Headers');
  31. $html = '<html><meta>stuff</meta><meta charset="Html"/></html>';
  32. $default = 'default';
  33. $this->assertEquals('headers', get_charset($headers, $html, $default));
  34. $this->assertEquals('html', get_charset(array(), $html, $default));
  35. $this->assertEquals($default, get_charset(array(), '', $default));
  36. $this->assertEquals('utf-8', get_charset(array(), ''));
  37. }
  38. /**
  39. * Test headers_extract_charset() when the charset is found.
  40. */
  41. public function testHeadersExtractExistentCharset()
  42. {
  43. $charset = 'x-MacCroatian';
  44. $headers = array('Content-Type' => 'text/html; charset='. $charset);
  45. $this->assertEquals(strtolower($charset), headers_extract_charset($headers));
  46. }
  47. /**
  48. * Test headers_extract_charset() when the charset is not found.
  49. */
  50. public function testHeadersExtractNonExistentCharset()
  51. {
  52. $headers = array();
  53. $this->assertFalse(headers_extract_charset($headers));
  54. $headers = array('Content-Type' => 'text/html');
  55. $this->assertFalse(headers_extract_charset($headers));
  56. }
  57. /**
  58. * Test html_extract_charset() when the charset is found.
  59. */
  60. public function testHtmlExtractExistentCharset()
  61. {
  62. $charset = 'x-MacCroatian';
  63. $html = '<html><meta>stuff2</meta><meta charset="'. $charset .'"/></html>';
  64. $this->assertEquals(strtolower($charset), html_extract_charset($html));
  65. }
  66. /**
  67. * Test html_extract_charset() when the charset is not found.
  68. */
  69. public function testHtmlExtractNonExistentCharset()
  70. {
  71. $html = '<html><meta>stuff</meta></html>';
  72. $this->assertFalse(html_extract_charset($html));
  73. $html = '<html><meta>stuff</meta><meta charset=""/></html>';
  74. $this->assertFalse(html_extract_charset($html));
  75. }
  76. }