More SkRecord TODOs:

  - add basic test for SkRecorder
  - rejigger GYPs so that the include dir comes along with the dependency

BUG=skia:2378
R=fmalita@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/227673011

git-svn-id: http://skia.googlecode.com/svn/trunk@14099 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/RecorderTest.cpp b/tests/RecorderTest.cpp
new file mode 100644
index 0000000..e04a9e9
--- /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 = SK_RECORD_TYPES(COUNT);
+#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]);
+}