18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (C) 2012 Google Inc. All rights reserved. 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Redistribution and use in source and binary forms, with or without 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * modification, are permitted provided that the following conditions 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * are met: 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1. Redistributions of source code must retain the above copyright 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * notice, this list of conditions and the following disclaimer. 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2. Redistributions in binary form must reproduce the above copyright 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * notice, this list of conditions and the following disclaimer in the 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * documentation and/or other materials provided with the distribution. 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "config.h" 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "platform/graphics/filters/FilterOperations.h" 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include <gtest/gtest.h> 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtusing namespace blink; 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtnamespace { 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTEST(FilterOperationsTest, getOutsetsBlur) 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt FilterOperations ops; 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt ops.operations().append(BlurFilterOperation::create(Length(20.0, Fixed))); 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_TRUE(ops.hasOutsets()); 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt FilterOutsets outsets = ops.outsets(); 418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(57, outsets.top()); 428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(57, outsets.right()); 438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(57, outsets.bottom()); 448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(57, outsets.left()); 458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtTEST(FilterOperationsTest, getOutsetsDropShadow) 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt FilterOperations ops; 508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt ops.operations().append(DropShadowFilterOperation::create(IntPoint(3, 8), 20, Color(1, 2, 3))); 518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_TRUE(ops.hasOutsets()); 528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt FilterOutsets outsets = ops.outsets(); 538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(49, outsets.top()); 548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(60, outsets.right()); 558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(65, outsets.bottom()); 568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EXPECT_EQ(54, outsets.left()); 578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt