@@ -26,8 +26,8 @@ TEST(DrawOrderResolverTest, GetSortedDrawsReturnsCorrectOrderWithNoClips) {
26
26
EXPECT_EQ (sorted_elements[0 ], 1u );
27
27
EXPECT_EQ (sorted_elements[1 ], 0u );
28
28
// Then the translucent items are drawn.
29
- EXPECT_EQ (sorted_elements[2 ], 3u );
30
- EXPECT_EQ (sorted_elements[3 ], 2u );
29
+ EXPECT_EQ (sorted_elements[2 ], 2u );
30
+ EXPECT_EQ (sorted_elements[3 ], 3u );
31
31
}
32
32
33
33
TEST (DrawOrderResolverTest, GetSortedDrawsReturnsCorrectOrderWithClips) {
@@ -65,20 +65,23 @@ TEST(DrawOrderResolverTest, GetSortedDrawsReturnsCorrectOrderWithClips) {
65
65
EXPECT_EQ (sorted_elements[1 ], 9u );
66
66
EXPECT_EQ (sorted_elements[2 ], 3u );
67
67
EXPECT_EQ (sorted_elements[3 ], 1u );
68
- // Then, the clip is drawn.
69
- EXPECT_EQ (sorted_elements[4 ], 4u );
68
+ // Then, non-clipped translucent items that came before the clip are drawn in
69
+ // their original order.
70
+ EXPECT_EQ (sorted_elements[4 ], 0u );
71
+ EXPECT_EQ (sorted_elements[5 ], 2u );
72
+
73
+ // Then, the clip and its sorted child items are drawn.
74
+ EXPECT_EQ (sorted_elements[6 ], 4u );
70
75
{
71
76
// Opaque clipped items are drawn in reverse order.
72
- EXPECT_EQ (sorted_elements[5 ], 8u );
73
- EXPECT_EQ (sorted_elements[6 ], 7u );
77
+ EXPECT_EQ (sorted_elements[7 ], 8u );
78
+ EXPECT_EQ (sorted_elements[8 ], 7u );
74
79
// Translucent clipped items are drawn.
75
- EXPECT_EQ (sorted_elements[7 ], 5u );
76
- EXPECT_EQ (sorted_elements[8 ], 6u );
80
+ EXPECT_EQ (sorted_elements[9 ], 5u );
81
+ EXPECT_EQ (sorted_elements[10 ], 6u );
77
82
}
78
- // Finally, the non-clipped translucent items are drawn in their original
79
- // order.
80
- EXPECT_EQ (sorted_elements[9 ], 0u );
81
- EXPECT_EQ (sorted_elements[10 ], 2u );
83
+ // Finally, the non-clipped translucent items which came after the clip are
84
+ // drawn in their original order.
82
85
EXPECT_EQ (sorted_elements[11 ], 10u );
83
86
EXPECT_EQ (sorted_elements[12 ], 12u );
84
87
}
@@ -100,7 +103,7 @@ TEST(DrawOrderResolverTest, GetSortedDrawsRespectsSkipCounts) {
100
103
// optimization.
101
104
auto sorted_elements = resolver.GetSortedDraws (1 , 2 );
102
105
103
- EXPECT_EQ (sorted_elements.size (), 4u );
106
+ EXPECT_EQ (sorted_elements.size (), 3u );
104
107
// First, opaque items are drawn in reverse order.
105
108
EXPECT_EQ (sorted_elements[0 ], 5u );
106
109
EXPECT_EQ (sorted_elements[1 ], 4u );
0 commit comments