aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/SkBase64Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/SkBase64Test.cpp')
-rw-r--r--tests/SkBase64Test.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/SkBase64Test.cpp b/tests/SkBase64Test.cpp
new file mode 100644
index 0000000000..aba9691106
--- /dev/null
+++ b/tests/SkBase64Test.cpp
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "SkBase64.h"
+
+#include "Test.h"
+
+DEF_TEST(SkBase64Test, reporter) {
+ char all[256];
+ for (int index = 0; index < 256; index++) {
+ all[index] = (signed char) (index + 1);
+ }
+
+ for (int offset = 0; offset < 6; offset++) {
+ size_t length = 256 - offset;
+ size_t encodeLength = SkBase64::Encode(all + offset, length, NULL);
+ SkAutoTMalloc<char> src(encodeLength + 1);
+ SkBase64::Encode(all + offset, length, src.get());
+ SkBase64 tryMe;
+ tryMe.decode(src.get(), encodeLength);
+ REPORTER_ASSERT(reporter, (strcmp((const char*) (all + offset), tryMe.getData()) == 0));
+ delete[] tryMe.getData();
+ }
+}