You are here

public function jQueryUiFilterUnitTest::testMatchingPatterns in jQuery UI filter 8.2

Tests the matching patterns.

File

src/Tests/jQueryUiFilterUnitTest.php, line 58
Definition of Drupal\jquery_ui_filter\Tests\jQueryUiFilterUnitTest.

Class

jQueryUiFilterUnitTest
Tests jQuery UI filter.

Namespace

Drupal\jquery_ui_filter\Tests

Code

public function testMatchingPatterns() {

  // NOTE: Accordion and tabs use the same code base so we are only testing
  // accordion widgets.
  $tests = [
    // Mixed case tags do nothing.
    '<p>[Accordion]</p>' => [
      '<p>[Accordion]</p>' => TRUE,
    ],
    // Wrapped in <div> tags.
    '<div>[accordion]</div><div>[/accordion]</div>' => [
      '<div data-ui-role="accordion"></div>' => TRUE,
    ],
    // Wrapped in <p> tags.
    '<p>[accordion]</p><p>[/accordion]</p>' => [
      '<div data-ui-role="accordion"></div>' => TRUE,
    ],
    // Using option.
    '<div>[accordion option]</div>' => [
      '<div data-ui-role="accordion" data-ui-option="true">' => TRUE,
    ],
    // Using double quotes.
    '<div>[accordion option="value"]</div>' => [
      '<div data-ui-role="accordion" data-ui-option="value">' => TRUE,
    ],
    // Using single quotes.
    '<div>[accordion option=\'value\']</div>' => [
      '<div data-ui-role="accordion" data-ui-option="value">' => TRUE,
    ],
    // Using custom 'camelCase' option .
    '<div>[accordion camelCase="value"]</div>' => [
      '<div data-ui-role="accordion" data-ui-camel-case="value">' => TRUE,
    ],
    '<div>[accordion camelCase]</div>' => [
      '<div data-ui-role="accordion" data-ui-camel-case="true">' => TRUE,
    ],
    // With with extra spaces.
    '<div>[accordion  option ]</div>' => [
      '<div data-ui-role="accordion" data-ui-option="true">' => TRUE,
    ],
    // Options with encoded characters.
    '<div>[accordion &nbsp;option=&quot;value&quot;]</div>' => [
      '<div data-ui-role="accordion" data-ui-option="value">' => TRUE,
    ],
    // Options with bad character characters.
    '<div>[accordion < &lt;&nbsp;option=&quot;value&quot;]</div>' => [
      '<div data-ui-role="accordion" data-ui-option="value">' => TRUE,
    ],
    // Using JSON in option.
    '<div>[accordion json=\'{"name":"value"}\']</div>' => [
      '<div data-ui-role="accordion" data-ui-json="{&quot;name&quot;:&quot;value&quot;}">' => TRUE,
    ],
  ];
  $this
    ->assertFilteredString($this->filter, $tests);
}