1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 #include "core/rendering/style/RenderStyle.h"
8 #include "core/rendering/ClipPathOperation.h"
9 #include "core/rendering/style/ShapeValue.h"
11 #include <gtest/gtest.h>
13 using namespace blink;
17 TEST(RenderStyleTest, ShapeOutsideBoxEqual)
19 RefPtr<ShapeValue> shape1 = ShapeValue::createBoxShapeValue(ContentBox);
20 RefPtr<ShapeValue> shape2 = ShapeValue::createBoxShapeValue(ContentBox);
21 RefPtr<RenderStyle> style1 = RenderStyle::create();
22 RefPtr<RenderStyle> style2 = RenderStyle::create();
23 style1->setShapeOutside(shape1);
24 style2->setShapeOutside(shape2);
25 ASSERT_EQ(*style1, *style2);
28 TEST(RenderStyleTest, ShapeOutsideCircleEqual)
30 RefPtr<BasicShapeCircle> circle1 = BasicShapeCircle::create();
31 RefPtr<BasicShapeCircle> circle2 = BasicShapeCircle::create();
32 RefPtr<ShapeValue> shape1 = ShapeValue::createShapeValue(circle1, ContentBox);
33 RefPtr<ShapeValue> shape2 = ShapeValue::createShapeValue(circle2, ContentBox);
34 RefPtr<RenderStyle> style1 = RenderStyle::create();
35 RefPtr<RenderStyle> style2 = RenderStyle::create();
36 style1->setShapeOutside(shape1);
37 style2->setShapeOutside(shape2);
38 ASSERT_EQ(*style1, *style2);
41 TEST(RenderStyleTest, ClipPathEqual)
43 RefPtr<BasicShapeCircle> shape = BasicShapeCircle::create();
44 RefPtr<ShapeClipPathOperation> path1 = ShapeClipPathOperation::create(shape);
45 RefPtr<ShapeClipPathOperation> path2 = ShapeClipPathOperation::create(shape);
46 RefPtr<RenderStyle> style1 = RenderStyle::create();
47 RefPtr<RenderStyle> style2 = RenderStyle::create();
48 style1->setClipPath(path1);
49 style2->setClipPath(path2);
50 ASSERT_EQ(*style1, *style2);