Index: sql/test/error_callback_support.cc |
diff --git a/sql/test/error_callback_support.cc b/sql/test/error_callback_support.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f0e22f381ba1ee1521af1ec1c3193ad40308dce |
--- /dev/null |
+++ b/sql/test/error_callback_support.cc |
@@ -0,0 +1,28 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "sql/test/error_callback_support.h" |
+ |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace sql { |
+ |
+void CaptureErrorCallback(int* error_pointer, int error, sql::Statement* stmt) { |
+ *error_pointer = error; |
+} |
+ |
+ScopedErrorCallback::ScopedErrorCallback( |
+ sql::Connection* db, |
+ const sql::Connection::ErrorCallback& cb) |
+ : db_(db) { |
+ // Make sure someone isn't trying to nest things. |
+ EXPECT_FALSE(db_->has_error_callback()); |
+ db_->set_error_callback(cb); |
+} |
+ |
+ScopedErrorCallback::~ScopedErrorCallback() { |
+ db_->reset_error_callback(); |
+} |
+ |
+} // namespace |