1 layout.test | LayoutCloneTest::testLayoutClone() |
File
- core/
modules/ layout/ tests/ layout.test, line 2760 - Tests for the Layout module.
Class
- LayoutCloneTest
- Tests the interface for adding, removing, and moving blocks.
Code
function testLayoutClone() {
// Create a new layout using the UI.
$edit = array(
'title' => 'Test layout 1',
'name' => 'test_layout_1',
'layout_template' => 'boxton',
'path' => 'test-layout-1',
);
$this->backdropPost('admin/structure/layouts/add', $edit, t('Create layout'));
// Add a few blocks via the API.
$test_layout_1 = layout_load('test_layout_1');
$test_layout_1->addBlock('layout_test', 'foo', 'content');
$test_layout_1->addBlock('layout_test', 'foo', 'sidebar');
$test_layout_1->save();
// Test cloning the layout.
$edit = array(
'title' => 'Test layout 2',
'name' => 'test_layout_2',
);
$this->backdropPost('admin/structure/layouts/manage/test_layout_1/clone', $edit, t('Clone layout'));
$success_message = t('Cloned layout @title created. You may now configure the cloned layout.', array('@title' => 'Test layout 2'));
$this->assertRaw($success_message);
$edit = array(
'path' => 'test-layout-2',
);
$this->backdropPost(NULL, $edit, t('Save layout'));
$this->backdropGet('admin/structure/layouts');
$this->assertRaw('test_layout_1');
$this->assertRaw('test_layout_2');
$this->backdropGet('test-layout-1');
$this->assertResponse(200);
$this->assertRaw('Foo subject', 'Testing block is present on original layout');
$this->backdropGet('test-layout-2');
$this->assertRaw('Foo subject', 'Testing block is present on cloned layout.');
$this->assertResponse(200);
}