| // Copyright 2016 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. |
| |
| #ifndef BASE_ANDROID_JAVA_HANDLER_THREAD_FOR_TESTING_H_ |
| #define BASE_ANDROID_JAVA_HANDLER_THREAD_FOR_TESTING_H_ |
| |
| #include <jni.h> |
| |
| #include <memory> |
| |
| #include "base/android/scoped_java_ref.h" |
| #include "starboard/types.h" |
| |
| namespace base { |
| |
| class WaitableEvent; |
| |
| namespace android { |
| |
| class JavaHandlerThread; |
| |
| // Test-only helpers for working with JavaHandlerThread. |
| class JavaHandlerThreadHelpers { |
| public: |
| // Create the Java peer first and test that it works before connecting to the |
| // native object. |
| static std::unique_ptr<JavaHandlerThread> CreateJavaFirst(); |
| |
| static void ThrowExceptionAndAbort(WaitableEvent* event); |
| |
| static bool IsExceptionTestException( |
| ScopedJavaLocalRef<jthrowable> exception); |
| |
| private: |
| JavaHandlerThreadHelpers() = default; |
| ~JavaHandlerThreadHelpers() = default; |
| }; |
| |
| } // namespace android |
| } // namespace base |
| |
| #endif // BASE_ANDROID_JAVA_HANDLER_THREAD_FOR_TESTING_H_ |