Tests batches defined in a programmatically submitted form.
Same as above, but the form is submitted through drupal_form_execute().
function testBatchFormProgrammatic() {
// Batches 1, 2 and 3 are triggered in sequence by different submit
// handlers. Each submit handler modify the submitted 'value'.
$value = rand(0, 255);
$this
->drupalGet('batch-test/programmatic/' . $value);
// Check that result messages are present and in the correct order.
$this
->assertBatchMessages($this
->_resultMessages('chained'), 'Batches defined in separate submit handlers performed successfully.');
// The stack contains execution order of batch callbacks and submit
// hanlders and logging of corresponding $form_state[{values'].
$this
->assertEqual(batch_test_stack(), $this
->_resultStack('chained', $value), 'Execution order was correct, and $form_state is correctly persisted.');
$this
->assertText('Got out of a programmatic batched form.', 'Page execution continues normally.');
}