ObsfuscateHelperTest.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace Tools\TestCase\View\Helper;
  3. use Tools\View\Helper\ObfuscateHelper;
  4. use Tools\TestSuite\TestCase;
  5. use Cake\View\View;
  6. use Cake\Core\Configure;
  7. class ObfuscateHelperTest extends TestCase {
  8. public function setUp() {
  9. parent::setUp();
  10. $this->Obfuscate = new ObfuscateHelper(new View());
  11. }
  12. public function tearDown() {
  13. unset($this->Table);
  14. parent::tearDown();
  15. }
  16. public function testObject() {
  17. $this->assertInstanceOf('Tools\View\Helper\ObfuscateHelper', $this->Obfuscate);
  18. }
  19. /**
  20. * ObfuscateHelperTest::testEncodeEmails()
  21. *
  22. * @return void
  23. */
  24. public function testEncodeEmail() {
  25. $result = $this->Obfuscate->encodeEmail('foobar@somedomain.com');
  26. $expected = '<span>@</span>';
  27. $this->assertContains($expected, $result);
  28. }
  29. /**
  30. * ObfuscateHelperTest::testEncodeEmailUrl()
  31. *
  32. * @return void
  33. */
  34. public function testEncodeEmailUrl() {
  35. $result = $this->Obfuscate->encodeEmailUrl('foobar@somedomain.com');
  36. $expected = '<script language=javascript>';
  37. $this->assertContains($expected, $result);
  38. }
  39. /**
  40. * ObfuscateHelperTest::testEncodeText()
  41. *
  42. * @return void
  43. */
  44. public function testEncodeText() {
  45. $result = $this->Obfuscate->encodeText('foobar@somedomain.com');
  46. $expected = ';&#';
  47. $this->assertContains($expected, $result);
  48. }
  49. /**
  50. * @return void
  51. */
  52. public function testHideEmail() {
  53. $mails = array(
  54. 'test@test.de' => 't..t@t..t.de',
  55. 'xx@yy.de' => 'x..x@y..y.de',
  56. 'erk-wf@ve-eeervdg.com' => 'e..f@v..g.com',
  57. );
  58. foreach ($mails as $mail => $expected) {
  59. $res = $this->Obfuscate->hideEmail($mail);
  60. //echo '\''.$mail.'\' becomes \''.$res.'\' - expected \''.$expected.'\'';
  61. $this->assertEquals($expected, $res);
  62. }
  63. }
  64. /**
  65. * @return void
  66. */
  67. public function testWordCensor() {
  68. $data = array(
  69. 'dfssdfsdj sdkfj sdkfj ksdfj bitch ksdfj' => 'dfssdfsdj sdkfj sdkfj ksdfj ##### ksdfj',
  70. '122 jsdf ficken Sjdkf sdfj sdf' => '122 jsdf ###### Sjdkf sdfj sdf',
  71. '122 jsdf FICKEN sjdkf sdfjs sdf' => '122 jsdf ###### sjdkf sdfjs sdf',
  72. 'dddddddddd ARSCH ddddddddddddd' => 'dddddddddd ##### ddddddddddddd',
  73. //'\';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>">\'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>' => null
  74. );
  75. foreach ($data as $value => $expected) {
  76. $res = $this->Obfuscate->wordCensor($value, array('Arsch', 'Ficken', 'Bitch'));
  77. //debug('\''.h($value).'\' becomes \''.h($res).'\'', null, false);
  78. $this->assertEquals($expected === null ? $value : $expected, $res);
  79. }
  80. }
  81. }