aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/buildfile2
-rw-r--r--tests/sha256/buildfile7
-rw-r--r--tests/sha256/driver.cxx34
3 files changed, 42 insertions, 1 deletions
diff --git a/tests/buildfile b/tests/buildfile
index 57e632e..0ad40e5 100644
--- a/tests/buildfile
+++ b/tests/buildfile
@@ -2,6 +2,6 @@
# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
-d = dir-iterator/ path/ prefix-map/ triplet/
+d = dir-iterator/ path/ prefix-map/ sha256/ triplet/
.: $d
include $d
diff --git a/tests/sha256/buildfile b/tests/sha256/buildfile
new file mode 100644
index 0000000..4116ff6
--- /dev/null
+++ b/tests/sha256/buildfile
@@ -0,0 +1,7 @@
+# file : tests/sha256/buildfile
+# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+exe{driver}: cxx{driver} ../../butl/lib{butl}
+
+include ../../butl/
diff --git a/tests/sha256/driver.cxx b/tests/sha256/driver.cxx
new file mode 100644
index 0000000..12928b2
--- /dev/null
+++ b/tests/sha256/driver.cxx
@@ -0,0 +1,34 @@
+// file : tests/triplet/driver.cxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#include <string>
+#include <cassert>
+#include <iostream>
+
+#include <butl/sha256>
+
+using namespace std;
+using namespace butl;
+
+int
+main ()
+{
+ assert (string (sha256 ().string ()) ==
+ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
+
+ assert (string (sha256 ("123").string ()) ==
+ "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3");
+
+ sha256 h;
+ h.append ("1");
+ h.append (string ("2"));
+ h.append ("3", 1);
+
+ auto& b (h.binary ());
+ assert (b[0] == 0xa6 && b[31] == 0xe3);
+
+ string s (h.string ());
+ assert (s ==
+ "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3");
+}