search_api_autocomplete-8.x-1.x-dev/tests/src/Unit/AutocompleteHelperTest.php

tests/src/Unit/AutocompleteHelperTest.php
<?php

namespace Drupal\Tests\search_api_autocomplete\Unit;

use Drupal\Core\Render\ElementInfoManagerInterface;
use Drupal\search_api_autocomplete\Utility\AutocompleteHelper;
use Drupal\Tests\UnitTestCase;

/**
 * Tests various utility methods of the Search API Autocomplete module.
 *
 * @group search_api_autocomplete
 *
 * @coversDefaultClass \Drupal\search_api_autocomplete\Utility\AutocompleteHelper
 */
class AutocompleteHelperTest extends UnitTestCase {

  /**
   * Tests splitting of user input into complete and incomplete words.
   *
   * @param string $keys
   *   The processed keywords.
   * @param string[] $expected
   *   The expected result of splitting the given user input.
   *
   * @covers ::splitKeys
   *
   * @dataProvider splitKeysTestDataProvider
   */
  public function testSplitKeys(string $keys, array $expected): void {
    $element_info = $this->createMock(ElementInfoManagerInterface::class);
    $service = new AutocompleteHelper($element_info);
    $this->assertEquals($expected, $service->splitKeys($keys));
  }

  /**
   * Data provider for testSplitKeys().
   */
  public static function splitKeysTestDataProvider(): array {
    $data = [];
    $data['simple word'] = ['word', ['', 'word']];
    $data['simple word with dash'] = ['word-dash', ['', 'word-dash']];
    $data['trailing whitespace'] = ['word-dash ', ['word-dash', '']];
    $data['quoted first word'] = ['"word" other', ['"word"', 'other']];
    $data['quoted word in middle'] = ['word "other" word', ['word "other"', 'word']];
    $data['quoted last word'] = ['word "other"', ['word "other"', '']];

    return $data;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc