class WebformYamlTest in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Unit/Utility/WebformYamlTest.php \Drupal\Tests\webform\Unit\Utility\WebformYamlTest
Tests webform tidy utility.
@group webform
@coversDefaultClass \Drupal\webform\Utility\WebformYaml
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait- class \Drupal\Tests\webform\Unit\Utility\WebformYamlTest
 
Expanded class hierarchy of WebformYamlTest
File
- tests/src/ Unit/ Utility/ WebformYamlTest.php, line 16 
Namespace
Drupal\Tests\webform\Unit\UtilityView source
class WebformYamlTest extends UnitTestCase {
  /**
   * Tests WebformYaml tidy with WebformYaml::tidy().
   *
   * @param array $data
   *   The array to run through WebformYaml::tidy().
   * @param string $expected
   *   The expected result from calling the function.
   *
   * @see WebformYaml::tidy()
   *
   * @dataProvider providerTidy
   */
  public function testTidy(array $data, $expected) {
    $result = WebformYaml::tidy(Yaml::encode($data));
    $this
      ->assertEquals($expected, $result);
  }
  /**
   * Data provider for testTidy().
   *
   * @see testTidy()
   */
  public function providerTidy() {
    $tests[] = [
      [
        'simple' => 'value',
      ],
      "simple: value",
    ];
    $tests[] = [
      [
        'returns' => "line 1\nline 2",
      ],
      "returns: |\n  line 1\n  line 2",
    ];
    $tests[] = [
      [
        'one two' => "line 1\nline 2",
      ],
      "'one two': |\n  line 1\n  line 2",
    ];
    $tests[] = [
      [
        'one two' => "line 1\r\nline 2",
      ],
      "'one two': |\n  line 1\n  line 2",
    ];
    $tests[] = [
      [
        'array' => [
          'one',
          'two',
        ],
      ],
      "array:\n  - one\n  - two",
    ];
    $tests[] = [
      [
        [
          'one' => 'One',
        ],
        [
          'two' => 'Two',
        ],
      ],
      "- one: One\n- two: Two",
    ];
    return $tests;
  }
  /**
   * Tests WebformYaml decode with WebformYaml::decode().
   *
   * @param string $yaml
   *   The string to run through WebformYaml::decode().
   * @param string $expected
   *   The expected result from calling the function.
   *
   * @see WebformYaml::decode()
   *
   * @dataProvider providerDecode
   */
  public function testDecode($yaml, $expected) {
    $result = WebformYaml::decode($yaml);
    $this
      ->assertEquals($expected, $result);
  }
  /**
   * Data provider for testDecode().
   *
   * @see testDecode()
   */
  public function providerDecode() {
    $tests[] = [
      "simple: value",
      [
        'simple' => 'value',
      ],
    ];
    $tests[] = [
      "returns: |\n  line 1\n  line 2",
      [
        'returns' => "line 1\nline 2",
      ],
    ];
    $tests[] = [
      "'one two': |\n  line 1\n  line 2",
      [
        'one two' => "line 1\nline 2",
      ],
    ];
    $tests[] = [
      "array:\n  - one\n  - two",
      [
        'array' => [
          'one',
          'two',
        ],
      ],
    ];
    $tests[] = [
      "- one: One\n- two: Two",
      [
        [
          'one' => 'One',
        ],
        [
          'two' => 'Two',
        ],
      ],
    ];
    $tests[] = [
      FALSE,
      [],
    ];
    $tests[] = [
      NULL,
      [],
    ];
    $tests[] = [
      [],
      [],
    ];
    $tests[] = [
      0,
      [],
    ];
    return $tests;
  }
  /**
   * Tests WebformYaml encode with WebformYaml::encode().
   *
   * @param string $yaml
   *   The string to run through WebformYaml::encode().
   * @param string $expected
   *   The expected result from calling the function.
   *
   * @see WebformYaml::encode()
   *
   * @dataProvider providerEncode
   */
  public function testEncdoe($yaml, $expected) {
    $result = WebformYaml::encode($yaml);
    $this
      ->assertEquals($expected, $result);
  }
  /**
   * Data provider for testEncode().
   *
   * @see testEncode()
   */
  public function providerEncode() {
    $tests[] = [
      [
        'simple' => 'value',
      ],
      "simple: value",
    ];
    $tests[] = [
      [
        'returns' => "line 1\nline 2",
      ],
      "returns: |\n  line 1\n  line 2",
    ];
    $tests[] = [
      [
        'one two' => "line 1\nline 2",
      ],
      "'one two': |\n  line 1\n  line 2",
    ];
    $tests[] = [
      [
        'array' => [
          'one',
          'two',
        ],
      ],
      "array:\n  - one\n  - two",
    ];
    $tests[] = [
      [
        [
          'one' => 'One',
        ],
        [
          'two' => 'Two',
        ],
      ],
      "- one: One\n- two: Two",
    ];
    $tests[] = [
      [],
      '',
    ];
    $tests[] = [
      '',
      "''",
    ];
    $tests[] = [
      0,
      '0',
    ];
    return $tests;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| PhpunitCompatibilityTrait:: | public | function | Returns a mock object for the specified class using the available method. | |
| PhpunitCompatibilityTrait:: | public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
| UnitTestCase:: | protected | property | The random generator. | |
| UnitTestCase:: | protected | property | The app root. | 1 | 
| UnitTestCase:: | protected | function | Asserts if two arrays are equal by sorting them first. | |
| UnitTestCase:: | protected | function | Mocks a block with a block plugin. | 1 | 
| UnitTestCase:: | protected | function | Returns a stub class resolver. | |
| UnitTestCase:: | public | function | Returns a stub config factory that behaves according to the passed array. | |
| UnitTestCase:: | public | function | Returns a stub config storage that returns the supplied configuration. | |
| UnitTestCase:: | protected | function | Sets up a container with a cache tags invalidator. | |
| UnitTestCase:: | protected | function | Gets the random generator for the utility methods. | |
| UnitTestCase:: | public | function | Returns a stub translation manager that just returns the passed string. | |
| UnitTestCase:: | public | function | Generates a unique random string containing letters and numbers. | |
| UnitTestCase:: | protected | function | 340 | |
| WebformYamlTest:: | public | function | Data provider for testDecode(). | |
| WebformYamlTest:: | public | function | Data provider for testEncode(). | |
| WebformYamlTest:: | public | function | Data provider for testTidy(). | |
| WebformYamlTest:: | public | function | Tests WebformYaml decode with WebformYaml::decode(). | |
| WebformYamlTest:: | public | function | Tests WebformYaml encode with WebformYaml::encode(). | |
| WebformYamlTest:: | public | function | Tests WebformYaml tidy with WebformYaml::tidy(). | 
