SurfaceTextureClient_test.cpp revision bae774eb20bebd409441b93386b51bccda75f546
1134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis/* 2134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * Copyright (C) 2011 The Android Open Source Project 3134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * 4134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * Licensed under the Apache License, Version 2.0 (the "License"); 5134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * you may not use this file except in compliance with the License. 6134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * You may obtain a copy of the License at 7134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * 8134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * http://www.apache.org/licenses/LICENSE-2.0 9134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * 10134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * Unless required by applicable law or agreed to in writing, software 11134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * distributed under the License is distributed on an "AS IS" BASIS, 12134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * See the License for the specific language governing permissions and 14134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis * limitations under the License. 15134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis */ 16134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 17134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis#include <gui/SurfaceTextureClient.h> 18134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis#include <gtest/gtest.h> 19134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 20134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennisnamespace android { 21134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 22134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennisclass SurfaceTextureClientTest : public ::testing::Test { 23134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennisprotected: 24134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis virtual void SetUp() { 25134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis mST = new SurfaceTexture(123); 26134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis mSTC = new SurfaceTextureClient(mST); 27134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis } 28134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 29134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis virtual void TearDown() { 30134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis mST.clear(); 31134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis mSTC.clear(); 32134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis } 33134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 34134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis sp<SurfaceTexture> mST; 35134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis sp<SurfaceTextureClient> mSTC; 36134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis}; 37134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 38bae774eb20bebd409441b93386b51bccda75f546Jamie GennisTEST_F(SurfaceTextureClientTest, GetISurfaceTextureIsNotNull) { 39bae774eb20bebd409441b93386b51bccda75f546Jamie Gennis sp<ISurfaceTexture> ist(mSTC->getISurfaceTexture()); 40bae774eb20bebd409441b93386b51bccda75f546Jamie Gennis ASSERT_TRUE(ist != NULL); 41bae774eb20bebd409441b93386b51bccda75f546Jamie Gennis} 42bae774eb20bebd409441b93386b51bccda75f546Jamie Gennis 43134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie GennisTEST_F(SurfaceTextureClientTest, QueuesToWindowCompositorIsFalse) { 44134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis sp<ANativeWindow> anw(mSTC); 45134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis int result = -123; 46134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis int err = anw->query(anw.get(), NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER, 47134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis &result); 48134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis EXPECT_EQ(NO_ERROR, err); 49134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis EXPECT_EQ(0, result); 50134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis} 51134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 52391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie GennisTEST_F(SurfaceTextureClientTest, ConcreteTypeIsSurfaceTextureClient) { 53391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis sp<ANativeWindow> anw(mSTC); 54391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis int result = -123; 55391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis int err = anw->query(anw.get(), NATIVE_WINDOW_CONCRETE_TYPE, &result); 56391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis EXPECT_EQ(NO_ERROR, err); 57391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis EXPECT_EQ(NATIVE_WINDOW_SURFACE_TEXTURE_CLIENT, result); 58391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis} 59391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis 60134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis} 61