diff --git a/tests/PathOpsQuadLineIntersectionTest.cpp b/tests/PathOpsQuadLineIntersectionTest.cpp
index 09c28c1..37c8ef3 100644
--- a/tests/PathOpsQuadLineIntersectionTest.cpp
+++ b/tests/PathOpsQuadLineIntersectionTest.cpp
@@ -25,7 +25,7 @@
     {{{{0, 0}, {0, 1}, {1, 1}}}, {{{0, 1}, {1, 0}}},  1,  {{.25, .75}, {0, 0}} },
 };
 
-static size_t lineQuadTests_count = sizeof(lineQuadTests) / sizeof(lineQuadTests[0]);
+static size_t lineQuadTests_count = SK_ARRAY_COUNT(lineQuadTests);
 
 static int doIntersect(SkIntersections& intersections, const SkDQuad& quad, const SkDLine& line,
                        bool& flipped) {
@@ -62,7 +62,7 @@
         {{{406.207703, 121.298294}, {348.781738, 123.864815}}}}
     };
 
-static size_t oneOffs_count = sizeof(oneOffs) / sizeof(oneOffs[0]);
+static size_t oneOffs_count = SK_ARRAY_COUNT(oneOffs);
 
 static void testOneOffs(skiatest::Reporter* reporter) {
     SkIntersections intersections;
@@ -81,7 +81,7 @@
     }
 }
 
-static void TestQuadLineIntersection(skiatest::Reporter* reporter) {
+static void PathOpsQuadLineIntersectionTest(skiatest::Reporter* reporter) {
     testOneOffs(reporter);
     for (size_t index = 0; index < lineQuadTests_count; ++index) {
         int iIndex = static_cast<int>(index);
@@ -128,5 +128,4 @@
 }
 
 #include "TestClassDef.h"
-DEFINE_TESTCLASS("PathOpsQuadLineIntersection", QuadLineIntersectionTestClass, \
-        TestQuadLineIntersection)
+DEFINE_TESTCLASS_SHORT(PathOpsQuadLineIntersectionTest)
