You are here

public function UrlDecodeTest::testUrlDecodeRawMethod in Tamper 8

Tests url decoding using the 'raw' method.

The raw method uses the PHP function rawurldecode().

The following cases are tested:

  • decoding symbols;
  • decoding a string with spaces;
  • decoding special characters.

File

tests/src/Unit/Plugin/Tamper/UrlDecodeTest.php, line 57

Class

UrlDecodeTest
Tests the url decode plugin.

Namespace

Drupal\Tests\tamper\Unit\Plugin\Tamper

Code

public function testUrlDecodeRawMethod() {
  $this
    ->expectException(TamperException::class);
  $this
    ->expectExceptionMessage('Input should be a string.');
  $config = [
    UrlDecode::SETTING_METHOD => 'rawurldecode',
  ];
  $plugin = new UrlDecode($config, 'url_decode', [], $this
    ->getMockSourceDefinition());
  $this
    ->assertEquals('$ & < > ? ; # : = , " \' ~ + %', $plugin
    ->tamper('%24%20%26%20%3C%20%3E%20%3F%20%3B%20%23%20%3A%20%3D%20%2C%20%22%20%27%20%7E%20%2B%20%25'));
  $this
    ->assertEquals('String with spaces', $plugin
    ->tamper('String%20with%20spaces'));
  $this
    ->assertEquals('special chars: &%*', $plugin
    ->tamper('special%20chars%3A%20%26%25%2A'));
  $plugin
    ->tamper([
    'fOo',
    'BAR',
  ]);
  $plugin
    ->tamper(14567);
}