SurfaceTextureClient_test.cpp revision 391bbe2246a7547dbf3460c231b3c5ba691d4eb1
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 38134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie GennisTEST_F(SurfaceTextureClientTest, QueuesToWindowCompositorIsFalse) { 39134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis sp<ANativeWindow> anw(mSTC); 40134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis int result = -123; 41134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis int err = anw->query(anw.get(), NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER, 42134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis &result); 43134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis EXPECT_EQ(NO_ERROR, err); 44134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis EXPECT_EQ(0, result); 45134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis} 46134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis 47391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie GennisTEST_F(SurfaceTextureClientTest, ConcreteTypeIsSurfaceTextureClient) { 48391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis sp<ANativeWindow> anw(mSTC); 49391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis int result = -123; 50391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis int err = anw->query(anw.get(), NATIVE_WINDOW_CONCRETE_TYPE, &result); 51391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis EXPECT_EQ(NO_ERROR, err); 52391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis EXPECT_EQ(NATIVE_WINDOW_SURFACE_TEXTURE_CLIENT, result); 53391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis} 54391bbe2246a7547dbf3460c231b3c5ba691d4eb1Jamie Gennis 55134f0422866e8985188ed10dfbdcb8e6c34b87f7Jamie Gennis} 56