diff --git a/tests/CodecTest.cpp b/tests/CodecTest.cpp
index bdb5e77..5ac19d9 100644
--- a/tests/CodecTest.cpp
+++ b/tests/CodecTest.cpp
@@ -32,7 +32,7 @@
     SkMD5 md5;
     size_t rowLen = bm.info().bytesPerPixel() * bm.width();
     for (int y = 0; y < bm.height(); ++y) {
-        md5.update(static_cast<uint8_t*>(bm.getAddr(0, y)), rowLen);
+        md5.write(bm.getAddr(0, y), rowLen);
     }
     md5.finish(*digest);
 }
diff --git a/tests/MD5Test.cpp b/tests/MD5Test.cpp
index efad26d..214a7a8 100644
--- a/tests/MD5Test.cpp
+++ b/tests/MD5Test.cpp
@@ -23,7 +23,7 @@
     // All at once
     {
         SkMD5 context;
-        context.update(reinterpret_cast<const uint8_t*>(string), len);
+        context.write(string, len);
         SkMD5::Digest digest;
         context.finish(digest);
 
@@ -36,7 +36,7 @@
         const uint8_t* data = reinterpret_cast<const uint8_t*>(string);
         const uint8_t* end = reinterpret_cast<const uint8_t*>(string + len);
         for (; data < end; ++data) {
-            context.update(data, 1);
+            context.write(data, 1);
         }
         SkMD5::Digest digest;
         context.finish(digest);
diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp
index f6ed59e..9e36d84 100644
--- a/tests/PictureTest.cpp
+++ b/tests/PictureTest.cpp
@@ -874,7 +874,7 @@
     SkMD5 md5;
     size_t rowLen = bm.info().bytesPerPixel() * bm.width();
     for (int y = 0; y < bm.height(); ++y) {
-        md5.update(static_cast<uint8_t*>(bm.getAddr(0, y)), rowLen);
+        md5.write(bm.getAddr(0, y), rowLen);
     }
     md5.finish(*digest);
 }
