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]); |
+} |