diff options
Diffstat (limited to 'tests/FlatDataTest.cpp')
-rw-r--r-- | tests/FlatDataTest.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/tests/FlatDataTest.cpp b/tests/FlatDataTest.cpp deleted file mode 100644 index 2be92b6f41..0000000000 --- a/tests/FlatDataTest.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2012 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkBitmap.h" -#include "SkCanvas.h" -#include "SkColor.h" -#include "SkColorFilter.h" -#include "SkGradientShader.h" -#include "SkPaint.h" -#include "SkPictureFlat.h" -#include "SkShader.h" -#include "SkXfermode.h" -#include "Test.h" - -struct SkFlattenableTraits { - static void Flatten(SkWriteBuffer& buffer, const SkFlattenable& flattenable) { - buffer.writeFlattenable(&flattenable); - } -}; - -class Controller : public SkChunkFlatController { -public: - Controller() : INHERITED(1024) { - this->INHERITED::setNamedFactorySet(SkNEW(SkNamedFactorySet))->unref(); - } -private: - typedef SkChunkFlatController INHERITED; -}; - -/** - * Verify that two SkFlatData objects that created from the same object are - * identical when using an SkNamedFactorySet. - * @param reporter Object to report failures. - * @param obj Flattenable object to be flattened. - * @param flattenProc Function that flattens objects with the same type as obj. - */ -template <typename Traits, typename T> -static void testCreate(skiatest::Reporter* reporter, const T& obj) { - Controller controller; - // No need to delete data because that will be taken care of by the controller. - SkFlatData* data1 = SkFlatData::Create<Traits>(&controller, obj, 0); - SkFlatData* data2 = SkFlatData::Create<Traits>(&controller, obj, 1); - REPORTER_ASSERT(reporter, *data1 == *data2); -} - -DEF_TEST(FlatData, reporter) { - // Test flattening SkShader - SkPoint points[2]; - points[0].set(0, 0); - points[1].set(SkIntToScalar(20), SkIntToScalar(20)); - SkColor colors[2]; - colors[0] = SK_ColorRED; - colors[1] = SK_ColorBLUE; - - SkAutoTUnref<SkShader> shader(SkGradientShader::CreateLinear(points, colors, NULL, 2, - SkShader::kRepeat_TileMode)); - testCreate<SkFlattenableTraits>(reporter, *shader); - - // Test SkColorFilter - SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateLightingFilter(SK_ColorBLUE, SK_ColorRED)); - testCreate<SkFlattenableTraits>(reporter, *cf); - - // Test SkXfermode - SkAutoTUnref<SkXfermode> xfer(SkXfermode::Create(SkXfermode::kDstOver_Mode)); - testCreate<SkFlattenableTraits>(reporter, *xfer); -} |