summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Craik <ccraik@google.com> 2016-02-04 18:08:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-02-04 18:08:20 +0000
commit3fd03b718d336ddb492125a07df62d3050d08bd4 (patch)
treeae0e17f34bdc8c4b7257bd0fb2873c2693b91636
parent0df25f0d2a4af1550bcf7d4c52d5dd763ec27757 (diff)
parent07d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8 (diff)
Merge "Add SkiaBehaviorTests"
-rw-r--r--libs/hwui/Android.mk7
-rw-r--r--libs/hwui/tests/unit/SkiaBehaviorTests.cpp43
2 files changed, 47 insertions, 3 deletions
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index 6988b0294539..c232bd1101a3 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -238,6 +238,7 @@ LOCAL_CFLAGS := \
LOCAL_SRC_FILES += \
$(hwui_test_common_src_files) \
+ tests/unit/BufferPoolTests.cpp \
tests/unit/CanvasStateTests.cpp \
tests/unit/ClipAreaTests.cpp \
tests/unit/CrashHandlerInjector.cpp \
@@ -247,11 +248,11 @@ LOCAL_SRC_FILES += \
tests/unit/GpuMemoryTrackerTests.cpp \
tests/unit/LayerUpdateQueueTests.cpp \
tests/unit/LinearAllocatorTests.cpp \
- tests/unit/VectorDrawableTests.cpp \
tests/unit/OffscreenBufferPoolTests.cpp \
+ tests/unit/SkiaBehaviorTests.cpp \
tests/unit/StringUtilsTests.cpp \
- tests/unit/BufferPoolTests.cpp \
- tests/unit/TextDropShadowCacheTests.cpp
+ tests/unit/TextDropShadowCacheTests.cpp \
+ tests/unit/VectorDrawableTests.cpp
ifeq (true, $(HWUI_NEW_OPS))
LOCAL_SRC_FILES += \
diff --git a/libs/hwui/tests/unit/SkiaBehaviorTests.cpp b/libs/hwui/tests/unit/SkiaBehaviorTests.cpp
new file mode 100644
index 000000000000..586625bf97cf
--- /dev/null
+++ b/libs/hwui/tests/unit/SkiaBehaviorTests.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "tests/common/TestUtils.h"
+
+#include <gtest/gtest.h>
+#include <SkShader.h>
+
+using namespace android;
+using namespace android::uirenderer;
+
+/**
+ * 1x1 bitmaps must not be optimized into solid color shaders, since HWUI can't
+ * compose/render color shaders
+ */
+TEST(SkiaBehavior, CreateBitmapShader1x1) {
+ SkBitmap origBitmap = TestUtils::createSkBitmap(1, 1);
+ std::unique_ptr<SkShader> s(SkShader::CreateBitmapShader(
+ origBitmap,
+ SkShader::kClamp_TileMode,
+ SkShader::kRepeat_TileMode));
+
+ SkBitmap bitmap;
+ SkShader::TileMode xy[2];
+ ASSERT_TRUE(s->isABitmap(&bitmap, nullptr, xy))
+ << "1x1 bitmap shader must query as bitmap shader";
+ EXPECT_EQ(SkShader::kClamp_TileMode, xy[0]);
+ EXPECT_EQ(SkShader::kRepeat_TileMode, xy[1]);
+ EXPECT_EQ(origBitmap.pixelRef(), bitmap.pixelRef());
+}