diff --git a/tests/editableviews.test b/tests/editableviews.test
index 1734b42..7ca4027 100644
--- a/tests/editableviews.test
+++ b/tests/editableviews.test
@@ -244,6 +244,81 @@ class EditableViewsBasicWebTestCase extends EditableViewsBaseWebTestCase {
     $this->assertEqual($first_node->sticky, TRUE, t("The node's 'status' property is set to the new value by saving the view."));
   }
 
+  /**
+   * Test basic node view 'test_editable_views_node_batch'.
+   */
+  function testNodeBatchView() {
+    $nodes = array();
+    $count_nodes = rand (5, 10);
+
+    for ($i = 0; $i < $count_nodes; $i++) {
+      $node_title = $this->randomName();
+      $node = $this->drupalCreateNode(array(
+      'title' => $node_title,
+      'type'  => 'editable_views_test_node',
+    ));
+      $nodes[] = $node;
+    }
+
+    // An array of form element names, keyed first by node id, and then by
+    // field name.
+    $field_element_names = array();
+    foreach ($nodes as $node) {
+      $field_element_names[$node->nid] = array(
+        'field_test_editable_text'    => "node[{$node->nid}][field_test_editable_text][und][0][value]",
+        'field_test_editable_options' => "node[{$node->nid}][field_test_editable_options][und]",
+      );
+    }
+
+    // Look at the node batch editable view.
+    $this->drupalGet('test-editable-views-node-batch');
+
+    // Save the form with changes to the first node, but with a field value on
+    // the second node that will fail validation, because
+    // editableviews_test_field_attach_validate() will reject 'banana'.
+    // Ensure this string is definitely NOT 'banana'.
+    $new_value_field_test_editable_text     = $this->randomString(8);
+    $new_value_field_test_editable_options  = 1;
+    $edit = array();
+    foreach ($nodes as $node) {
+      $edit["node[{$node->nid}][field_test_editable_text][und][0][value]"] = $new_value_field_test_editable_text;
+      $edit["node[{$node->nid}][field_test_editable_options][und]"]        = $new_value_field_test_editable_options;
+    }
+    $edit["node[{$nodes[1]->nid}][field_test_editable_text][und][0][value]"] = 'banana';
+
+    $this->drupalPost('test-editable-views-node-batch', $edit, t('Save'));
+
+    // Form validation should fail...
+    $this->assertText('Text may not be "banana" (error 1).', "The form error message was shown for the editable text field.");
+    // ...but only once.
+    $this->assertNoText('Text may not be "banana" (error 2).', "The form error message is shown only once.");
+
+    // Neither node should be saved.
+    entity_get_controller('node')->resetCache();
+
+    foreach ($nodes as $node) {
+      $current_node = node_load($node->nid);
+      $node_wrapper = entity_metadata_wrapper('node', $current_node);
+
+      $this->assertNotEqual($node_wrapper->field_test_editable_text->value(), $new_value_field_test_editable_text, t("The node's field value was not set to the new value."));
+      $this->assertNotEqual($node_wrapper->field_test_editable_options->value(), $new_value_field_test_editable_options, t("The node's field value was not set to the new value."));
+    }
+
+    // Save the form again, this time without a bad value.
+    $edit["node[{$nodes[1]->nid}][field_test_editable_text][und][0][value]"] = $new_value_field_test_editable_text;
+    $this->drupalPost('test-editable-views-node-batch', $edit, t('Save'));
+
+    // The first node should be saved and have new data in its fields.
+    entity_get_controller('node')->resetCache();
+    foreach ($nodes as $node) {
+      $current_node = node_load($node->nid);
+      $node_wrapper = entity_metadata_wrapper('node', $current_node);
+
+      $this->assertEqual($node_wrapper->field_test_editable_text->value(), $new_value_field_test_editable_text, t("The node's field value is set to the new value by saving the view."));
+      $this->assertEqual($node_wrapper->field_test_editable_options->value(), $new_value_field_test_editable_options, t("The node's field value is set to the new value by saving the view."));
+    }
+  }
+
 }
 
 /**
diff --git a/tests/editableviews_test_feature/editableviews_test_feature.info b/tests/editableviews_test_feature/editableviews_test_feature.info
index 937a84a..ead11bc 100644
--- a/tests/editableviews_test_feature/editableviews_test_feature.info
+++ b/tests/editableviews_test_feature/editableviews_test_feature.info
@@ -23,6 +23,7 @@ features[field_instance][] = node-editable_views_test_node-field_test_editable_t
 features[field_instance][] = node-editable_views_test_referencing-field_test_node_reference
 features[node][] = editable_views_test_node
 features[node][] = editable_views_test_referencing
+features[views_view][] = test_editable_views_node_batch
 features[views_view][] = test_editable_views_node_fields
 features[views_view][] = test_editable_views_node_properties
 features[views_view][] = test_editable_views_node_referenced_backwards_title
diff --git a/tests/editableviews_test_feature/editableviews_test_feature.views_default.inc b/tests/editableviews_test_feature/editableviews_test_feature.views_default.inc
index 82117ef..1c37ef0 100644
--- a/tests/editableviews_test_feature/editableviews_test_feature.views_default.inc
+++ b/tests/editableviews_test_feature/editableviews_test_feature.views_default.inc
@@ -11,6 +11,89 @@ function editableviews_test_feature_views_default_views() {
   $export = array();
 
   $view = new view();
+  $view->name = 'test_editable_views_node_batch';
+  $view->description = '';
+  $view->tag = 'default';
+  $view->base_table = 'node';
+  $view->human_name = 'Test editable views node batch';
+  $view->core = 7;
+  $view->api_version = '3.0';
+  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+
+  /* Display: Master */
+  $handler = $view->new_display('default', 'Master', 'default');
+  $handler->display->display_options['title'] = 'Test editable views node title';
+  $handler->display->display_options['use_more_always'] = FALSE;
+  $handler->display->display_options['access']['type'] = 'perm';
+  $handler->display->display_options['cache']['type'] = 'none';
+  $handler->display->display_options['query']['type'] = 'views_query';
+  $handler->display->display_options['exposed_form']['type'] = 'basic';
+  $handler->display->display_options['pager']['type'] = 'some';
+  $handler->display->display_options['pager']['options']['items_per_page'] = '10';
+  $handler->display->display_options['style_plugin'] = 'editableviews_table';
+  $handler->display->display_options['style_options']['columns'] = array(
+    'field_test_editable_text_editable' => 'field_test_editable_text_editable',
+    'field_test_editable_options_editable' => 'field_test_editable_options_editable',
+  );
+  $handler->display->display_options['style_options']['default'] = '-1';
+  $handler->display->display_options['style_options']['info'] = array(
+    'field_test_editable_text_editable' => array(
+      'sortable' => 0,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'field_test_editable_options_editable' => array(
+      'sortable' => 0,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+  );
+  $handler->display->display_options['style_options']['batch'] = TRUE;
+  $handler->display->display_options['style_options']['batch_size'] = '2';
+  /* Field: Content: Test editable text (editable) */
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['id'] = 'field_test_editable_text_editable';
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['table'] = 'field_data_field_test_editable_text';
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['field'] = 'field_test_editable_text_editable';
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['widget_type'] = '0';
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['suppress_label'] = 0;
+  $handler->display->display_options['fields']['field_test_editable_text_editable']['suppress_description'] = 0;
+  /* Field: Content: Test editable options (editable) */
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['id'] = 'field_test_editable_options_editable';
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['table'] = 'field_data_field_test_editable_options';
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['field'] = 'field_test_editable_options_editable';
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['widget_type'] = '0';
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['suppress_label'] = 0;
+  $handler->display->display_options['fields']['field_test_editable_options_editable']['suppress_description'] = 0;
+  /* Sort criterion: Content: Post date */
+  $handler->display->display_options['sorts']['created']['id'] = 'created';
+  $handler->display->display_options['sorts']['created']['table'] = 'node';
+  $handler->display->display_options['sorts']['created']['field'] = 'created';
+  $handler->display->display_options['sorts']['created']['order'] = 'DESC';
+  /* Filter criterion: Content: Published */
+  $handler->display->display_options['filters']['status']['id'] = 'status';
+  $handler->display->display_options['filters']['status']['table'] = 'node';
+  $handler->display->display_options['filters']['status']['field'] = 'status';
+  $handler->display->display_options['filters']['status']['value'] = 1;
+  $handler->display->display_options['filters']['status']['group'] = 1;
+  $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+  /* Filter criterion: Content: Type */
+  $handler->display->display_options['filters']['type']['id'] = 'type';
+  $handler->display->display_options['filters']['type']['table'] = 'node';
+  $handler->display->display_options['filters']['type']['field'] = 'type';
+  $handler->display->display_options['filters']['type']['value'] = array(
+    'editable_views_test_node' => 'editable_views_test_node',
+  );
+
+  /* Display: Batch */
+  $handler = $view->new_display('page', 'Batch', 'batch');
+  $handler->display->display_options['path'] = 'test-editable-views-node-batch';
+  $export['test_editable_views_node_batch'] = $view;
+
+  $view = new view();
   $view->name = 'test_editable_views_node_fields';
   $view->description = '';
   $view->tag = 'default';
