1 batch.test | BatchProcessingTestCase::testBatchFormMultipleBatches() |
Test batches defined in different submit handlers on the same form.
File
- core/
modules/ simpletest/ tests/ batch.test, line 90 - Tests for the Batch API.
Class
- BatchProcessingTestCase
- Tests for the Batch API.
Code
function testBatchFormMultipleBatches() {
// Batches 1, 2 and 3 are triggered in sequence by different submit
// handlers. Each submit handler modify the submitted 'value'.
$value = 'sample-value';
$edit = array('value' => $value);
$this->backdropPost('batch-test/chained', $edit, 'Submit');
// Allow space for the timestamp to increment, so items are inserted in a
// way that they'll be pulled out correctly.
sleep(2);
// Check that result messages are present and in the correct order.
$this->assertBatchMessages($this->_resultMessages('chained'), t('Batches defined in separate submit handlers performed successfully.'));
// The stack contains execution order of batch callbacks and submit handlers
// and logging of corresponding $form_state[{values'].
$this->assertEqual(batch_test_stack(), $this->_resultStack('chained', $value), t('Execution order was correct, and $form_state is correctly persisted.'));
$this->assertText('Redirection successful.', t('Redirection after batch execution is correct.'));
}