add asScalars() to document when we want to treat SkPoint or SkRect as an array
of SkScalars.
Review URL: https://codereview.chromium.org/12530010
git-svn-id: http://skia.googlecode.com/svn/trunk@8041 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PointTest.cpp b/tests/PointTest.cpp
index de0ae84..b8f4398 100644
--- a/tests/PointTest.cpp
+++ b/tests/PointTest.cpp
@@ -8,8 +8,20 @@
// Unit tests for src/core/SkPoint.cpp and its header
#include "SkPoint.h"
+#include "SkRect.h"
#include "Test.h"
+static void test_casts(skiatest::Reporter* reporter) {
+ SkPoint p = { 0, 0 };
+ SkRect r = { 0, 0, 0, 0 };
+
+ const SkScalar* pPtr = SkTCast<const SkScalar*>(&p);
+ const SkScalar* rPtr = SkTCast<const SkScalar*>(&r);
+
+ REPORTER_ASSERT(reporter, p.asScalars() == pPtr);
+ REPORTER_ASSERT(reporter, r.asScalars() == rPtr);
+}
+
// Tests that SkPoint::length() and SkPoint::Length() both return
// approximately expectedLength for this (x,y).
static void test_length(skiatest::Reporter* reporter, SkScalar x, SkScalar y,
@@ -37,6 +49,8 @@
}
static void PointTest(skiatest::Reporter* reporter) {
+ test_casts(reporter);
+
test_length(reporter, SkIntToScalar(3), SkIntToScalar(4), SkIntToScalar(5));
test_length(reporter, SkFloatToScalar(0.6f), SkFloatToScalar(0.8f),
SK_Scalar1);