AssertUtilsTrait.php

Same filename in other branches
  1. 9 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/AssertUtilsTrait.php
  2. 8.9.x core/tests/Drupal/Tests/Composer/Plugin/Scaffold/AssertUtilsTrait.php
  3. 10 core/tests/Drupal/Tests/Composer/Plugin/Scaffold/AssertUtilsTrait.php

Namespace

Drupal\Tests\Composer\Plugin\Scaffold

File

core/tests/Drupal/Tests/Composer/Plugin/Scaffold/AssertUtilsTrait.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\Composer\Plugin\Scaffold;


/**
 * Convenience class for creating fixtures.
 */
trait AssertUtilsTrait {
    
    /**
     * Asserts that a given file exists and is/is not a symlink.
     *
     * @param string $path
     *   The path to check exists.
     * @param bool $is_link
     *   Checks if the file should be a symlink or not.
     * @param string $contents_contains
     *   Regex to check the file contents.
     */
    protected function assertScaffoldedFile($path, $is_link, $contents_contains) {
        $this->assertFileExists($path);
        $contents = file_get_contents($path);
        $this->assertStringContainsString($contents_contains, basename($path) . ': ' . $contents);
        $this->assertSame($is_link, is_link($path));
    }
    
    /**
     * Asserts that a file does not exist or exists and does not contain a value.
     *
     * @param string $path
     *   The path to check exists.
     * @param string $contents_not_contains
     *   A string that is expected should NOT occur in the file contents.
     */
    protected function assertScaffoldedFileDoesNotContain($path, $contents_not_contains) {
        // If the file does not exist at all, we'll count that as a pass.
        if (!file_exists($path)) {
            return;
        }
        $contents = file_get_contents($path);
        $this->assertStringNotContainsString($contents_not_contains, $contents, basename($path) . ' contains unexpected contents:');
    }

}

Traits

Title Deprecated Summary
AssertUtilsTrait Convenience class for creating fixtures.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.