function CommentTypeTest::providerSource

Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Kernel/Plugin/migrate/source/CommentTypeTest.php \Drupal\Tests\comment\Kernel\Plugin\migrate\source\CommentTypeTest::providerSource()
  2. 8.9.x core/modules/comment/tests/src/Kernel/Plugin/migrate/source/d7/CommentTypeTest.php \Drupal\Tests\comment\Kernel\Plugin\migrate\source\d7\CommentTypeTest::providerSource()
  3. 10 core/modules/comment/tests/src/Kernel/Plugin/migrate/source/CommentTypeTest.php \Drupal\Tests\comment\Kernel\Plugin\migrate\source\CommentTypeTest::providerSource()

File

core/modules/comment/tests/src/Kernel/Plugin/migrate/source/CommentTypeTest.php, line 26

Class

CommentTypeTest
Tests the comment type source plugin.

Namespace

Drupal\Tests\comment\Kernel\Plugin\migrate\source

Code

public static function providerSource() {
    $node_type_rows = [
        [
            'type' => 'page',
            'name' => 'Page',
        ],
        [
            'type' => 'story',
            'name' => 'Story',
        ],
    ];
    $comment_variable_rows = [
        [
            'name' => 'comment_anonymous_page',
            'value' => serialize(0),
        ],
        [
            'name' => 'comment_anonymous_story',
            'value' => serialize(1),
        ],
        [
            'name' => 'comment_default_mode_page',
            'value' => serialize(0),
        ],
        [
            'name' => 'comment_default_mode_story',
            'value' => serialize(1),
        ],
        [
            'name' => 'comment_default_per_page_page',
            'value' => serialize('10'),
        ],
        [
            'name' => 'comment_default_per_page_story',
            'value' => serialize('20'),
        ],
        [
            'name' => 'comment_form_location_page',
            'value' => serialize(0),
        ],
        [
            'name' => 'comment_form_location_story',
            'value' => serialize(1),
        ],
        [
            'name' => 'comment_page',
            'value' => serialize('0'),
        ],
        [
            'name' => 'comment_preview_page',
            'value' => serialize('0'),
        ],
        [
            'name' => 'comment_preview_story',
            'value' => serialize('1'),
        ],
        [
            'name' => 'comment_story',
            'value' => serialize('1'),
        ],
        [
            'name' => 'comment_subject_field_page',
            'value' => serialize(0),
        ],
        [
            'name' => 'comment_subject_field_story',
            'value' => serialize(1),
        ],
    ];
    return [
        'Node and comment enabled, two node types' => [
            'source_data' => [
                'node_type' => $node_type_rows,
                'variable' => $comment_variable_rows,
            ],
            'expected_data' => [
                [
                    'type' => 'page',
                    'name' => 'Page',
                    'comment' => 0,
                    'comment_default_mode' => 0,
                    'comment_default_per_page' => '10',
                    'comment_anonymous' => 0,
                    'comment_subject_field' => 0,
                    'comment_preview' => 0,
                    'comment_form_location' => 0,
                ],
                [
                    'type' => 'story',
                    'name' => 'Story',
                    'comment' => 1,
                    'comment_default_mode' => 1,
                    'comment_default_per_page' => '20',
                    'comment_anonymous' => 1,
                    'comment_subject_field' => 1,
                    'comment_preview' => 1,
                    'comment_form_location' => 1,
                ],
            ],
        ],
        'Node and comment enabled, two node types, no comment variables' => [
            'source_data' => [
                'node_type' => $node_type_rows,
                'variable' => [
                    [
                        'name' => 'css_js_query_string',
                        'value' => serialize('foobar'),
                    ],
                ],
            ],
            'expected_data' => [
                [
                    'type' => 'page',
                    'name' => 'Page',
                    'comment' => NULL,
                    'comment_default_mode' => NULL,
                    'comment_default_per_page' => NULL,
                    'comment_anonymous' => NULL,
                    'comment_subject_field' => NULL,
                    'comment_preview' => NULL,
                    'comment_form_location' => NULL,
                ],
                [
                    'type' => 'story',
                    'name' => 'Story',
                    'comment' => NULL,
                    'comment_default_mode' => NULL,
                    'comment_default_per_page' => NULL,
                    'comment_anonymous' => NULL,
                    'comment_subject_field' => NULL,
                    'comment_preview' => NULL,
                    'comment_form_location' => NULL,
                ],
            ],
        ],
    ];
}

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