Index: ui/views/controls/tree/tree_view_unittest.cc |
diff --git a/ui/views/controls/tree/tree_view_unittest.cc b/ui/views/controls/tree/tree_view_unittest.cc |
index dfb9e6280fa743696ddd0238c12b4d6527086528..94691fc7b2e9432ca3e79923c63146c6276e1664 100644 |
--- a/ui/views/controls/tree/tree_view_unittest.cc |
+++ b/ui/views/controls/tree/tree_view_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "base/string_util.h" |
#include "base/utf_string_conversions.h" |
#include "ui/base/models/tree_node_model.h" |
+#include "ui/views/controls/textfield/textfield.h" |
#include "ui/views/test/views_test_base.h" |
using ui::TreeModel; |
@@ -381,4 +382,17 @@ TEST_F(TreeViewViewsTest, ExpandOrSelectChild) { |
EXPECT_EQ("b1", GetSelectedNodeTitle()); |
} |
+// Verifies edits are committed when focus is lost. |
+TEST_F(TreeViewViewsTest, CommitOnFocusLost) { |
+ tree_.SetModel(&model_); |
+ |
+ tree_.SetSelectedNode(GetNodeByTitle("root")); |
+ ExpandOrSelectChild(); |
+ tree_.SetEditable(true); |
+ tree_.StartEditing(GetNodeByTitle("a")); |
+ tree_.editor()->SetText(ASCIIToUTF16("a changed")); |
+ tree_.OnDidChangeFocus(NULL, NULL); |
+ EXPECT_TRUE(GetNodeByTitle("a changed") != NULL); |
+} |
+ |
} // namespace views |