| Index: tests/RecordTest.cpp
|
| diff --git a/tests/RecordTest.cpp b/tests/RecordTest.cpp
|
| index 9e02c882dbc5e74e2d994bf1c01e2560cd986501..e613b425fdc7f607d580c053bc7b028819d5c8fb 100644
|
| --- a/tests/RecordTest.cpp
|
| +++ b/tests/RecordTest.cpp
|
| @@ -5,13 +5,14 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -#include "Test.h"
|
| -
|
| +#include "RecordTestUtils.h"
|
| #include "SkBitmap.h"
|
| #include "SkImageInfo.h"
|
| -#include "SkShader.h"
|
| #include "SkRecord.h"
|
| #include "SkRecords.h"
|
| +#include "SkShader.h"
|
| +#include "Test.h"
|
| +
|
|
|
| // Sums the area of any DrawRect command it sees.
|
| class AreaSummer {
|
| @@ -76,6 +77,25 @@ DEF_TEST(Record, r) {
|
| REPORTER_ASSERT(r, summer.area() == 500);
|
| }
|
|
|
| +DEF_TEST(Record_defrag, r) {
|
| + SkRecord record;
|
| + APPEND(record, SkRecords::Save);
|
| + APPEND(record, SkRecords::ClipRect);
|
| + APPEND(record, SkRecords::NoOp);
|
| + APPEND(record, SkRecords::DrawRect);
|
| + APPEND(record, SkRecords::NoOp);
|
| + APPEND(record, SkRecords::NoOp);
|
| + APPEND(record, SkRecords::Restore);
|
| + REPORTER_ASSERT(r, record.count() == 7);
|
| +
|
| + record.defrag();
|
| + REPORTER_ASSERT(r, record.count() == 4);
|
| + assert_type<SkRecords::Save >(r, record, 0);
|
| + assert_type<SkRecords::ClipRect>(r, record, 1);
|
| + assert_type<SkRecords::DrawRect>(r, record, 2);
|
| + assert_type<SkRecords::Restore >(r, record, 3);
|
| +}
|
| +
|
| #undef APPEND
|
|
|
| template <typename T>
|
|
|