function ViewsPluginStyleMappingTest::mappedOutputHelper

Tests the mapping of fields.

Parameters

view $view: The view to test.

Return value

string The view rendered as HTML.

1 call to ViewsPluginStyleMappingTest::mappedOutputHelper()
ViewsPluginStyleMappingTest::testMappedOutput in tests/styles/views_plugin_style_mapping.test
Verifies that the fields were mapped correctly.

File

tests/styles/views_plugin_style_mapping.test, line 121

Class

ViewsPluginStyleMappingTest
Tests the default/mapping row style.

Code

protected function mappedOutputHelper($view) {
    $rendered_output = $view->preview();
    $this->storeViewPreview($rendered_output);
    $rows = $this->elements->body->div->div->div;
    $data_set = $this->dataSet();
    $count = 0;
    foreach ($rows as $row) {
        $attributes = $row->attributes();
        $class = (string) $attributes['class'][0];
        $this->assertTrue(strpos($class, 'views-row-mapping-test') !== FALSE, 'Make sure that each row has the correct CSS class.');
        foreach ($row->div as $field) {
            // Split up the field-level class, the first part is the mapping name
            // and the second is the field ID.
            $field_attributes = $field->attributes();
            $name = strtok((string) $field_attributes['class'][0], '-');
            $field_id = strtok('-');
            // The expected result is the mapping name and the field value,
            // separated by ':'.
            $expected_result = $name . ':' . $data_set[$count][$field_id];
            $actual_result = (string) $field;
            $this->assertIdentical($expected_result, $actual_result, format_string('The fields were mapped successfully: %name => %field_id', array(
                '%name' => $name,
                '%field_id' => $field_id,
            )));
        }
        $count++;
    }
    return $rendered_output;
}