aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/MathTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/MathTest.cpp')
-rw-r--r--tests/MathTest.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp
index 1dd8223091..a3e0b740e1 100644
--- a/tests/MathTest.cpp
+++ b/tests/MathTest.cpp
@@ -679,3 +679,21 @@ DEF_TEST(divmod_s32, r) {
DEF_TEST(divmod_s64, r) {
test_divmod<int64_t>(r);
}
+
+DEF_TEST(SkAlign, r) {
+ int x = 6;
+ REPORTER_ASSERT(r, SkIsAlign2(x));
+ REPORTER_ASSERT(r, !SkIsAlign4(x));
+ x = SkAlign4(x);
+ REPORTER_ASSERT(r, SkIsAlign2(x));
+ REPORTER_ASSERT(r, SkIsAlign4(x));
+
+ auto p = (char*)&x;
+ REPORTER_ASSERT(r, SkIsAlign2(p));
+ REPORTER_ASSERT(r, SkIsAlign4(p));
+ p += 2;
+ REPORTER_ASSERT(r, SkIsAlign2(p));
+ REPORTER_ASSERT(r, !SkIsAlign4(p));
+ p = SkAlign4(p);
+ REPORTER_ASSERT(r, p == (char*)(&x+1));
+}