file_encrypt-8.x-1.x-dev/tests/src/Unit/PathProcessorFilesTest.php

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

namespace Drupal\Tests\file_encrypt\Unit;

use Drupal\file_encrypt\PathProcessor\PathProcessorFiles;
use Symfony\Component\HttpFoundation\Request;
use PHPUnit\Framework\TestCase;

/**
 * Path processor unit tests.
 *
 * @coversDefaultClass \Drupal\file_encrypt\PathProcessor\PathProcessorFiles
 * @group file_encrypt
 */
class PathProcessorFilesTest extends TestCase {

  /**
   * Test inbound path processing.
   *
   * @dataProvider providerTestProcessInbound
   */
  public function testProcessInbound($incoming_path, Request $incoming_request, $expected_path, $expected_file_path = NULL) {
    $processor = new PathProcessorFiles();
    $result = $processor->processInbound($incoming_path, $incoming_request);
    $this->assertEquals($expected_path, $result);

    if (isset($expected_file_path)) {
      $this->assertEquals($expected_file_path, $incoming_request->query->get('file'));
    }
    else {
      $this->assertFalse($incoming_request->query->has('file'));
    }
  }

  /**
   * Test inbound provider.
   *
   * @see \Drupal\Tests\file_encrypt\Unit\PathProcessorFilesTest::testProcessInbound
   */
  public function providerTestProcessInbound() {
    $data = [];
    $data['non-file-path'] = ['/my-path', Request::create('/my-path'), '/my-path'];
    $data['encrypt-file-path'] = [
      '/encrypt/files/test.txt',
      Request::create('/encrypt/files/test.txt'),
      '/encrypt/files',
      'test.txt',
    ];
    $data['encrypt-file-path-with-folder'] = [
      '/encrypt/files/folder_a/folder_b/test.txt',
      Request::create('/encrypt/files/folder_a/folder_b/test.txt'),
      '/encrypt/files',
      'folder_a/folder_b/test.txt',
    ];
    $request = Request::create('/encrypt/files/test.txt');
    $request->query->set('file', 'test.txt');
    $data['encrypt-file-already-processed'] = [
      '/encrypt/files/test.txt',
      $request,
      '/encrypt/files/test.txt',
      'test.txt',
    ];
    return $data;
  }

}

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

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