Chromium Code Reviews| Index: tests/RecorderTest.cpp |
| diff --git a/tests/RecorderTest.cpp b/tests/RecorderTest.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6cca6919763c1f9b7af8d2e7e70ce4138bb5a238 |
| --- /dev/null |
| +++ b/tests/RecorderTest.cpp |
| @@ -0,0 +1,36 @@ |
| +#include "Test.h" |
| + |
| +#include "SkRecord.h" |
| +#include "SkRecorder.h" |
| +#include "SkRecords.h" |
| + |
| +#define COUNT(T) + 1 |
| +static const int kRecordTypes = 0 + SK_RECORD_TYPES(COUNT); |
|
f(malita)
2014/04/08 19:48:34
I guess it evals correctly, but I think we could d
mtklein
2014/04/08 19:51:40
Oooh, good call. This was left over from before I
|
| +#undef COUNT |
| + |
| +// Tallies the types of commands it sees into histogram. |
| +class Tally { |
| +public: |
| + explicit Tally(int histogram[kRecordTypes]) : fHistogram(histogram) {} |
| + |
| + template <typename T> void operator()(const T&) { |
| + ++fHistogram[T::kType]; |
| + } |
| + |
| +private: |
| + int* fHistogram; |
| +}; |
| + |
| +DEF_TEST(Recorder, r) { |
| + SkRecord record; |
| + SkRecorder recorder(&record, 1920, 1080); |
| + |
| + recorder.drawRect(SkRect::MakeWH(10, 10), SkPaint()); |
| + |
| + int histogram[kRecordTypes]; |
| + bzero(&histogram, sizeof(histogram)); |
| + |
| + record.visit(Tally(histogram)); |
| + |
| + REPORTER_ASSERT(r, 1 == histogram[SkRecords::DrawRect::kType]); |
| +} |