Merge pull request #81 from popzxc/data-method-in-impl-array-newtype

Added generation of `data` method in `impl_array_newtype` macro
This commit is contained in:
Andrew Poelstra 2018-05-19 17:52:09 +00:00 committed by GitHub
commit 6b1872e697
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -77,6 +77,10 @@ macro_rules! impl_array_newtype {
#[inline]
/// Returns whether the object, as an array, is empty. Always false.
pub fn is_empty(&self) -> bool { false }
#[inline]
/// Returns the underlying data.
pub fn data(&self) -> [$ty; $len] { self.0.clone() }
}
impl<'a> From<&'a [$ty]> for $thing {

View File

@ -481,6 +481,18 @@ mod tests {
"56944C5D3F98413EF45CF54545538103CC9F298E0575820AD3591376E2E0F65D");
}
#[test]
fn test_sha256d_data() {
assert_eq!(
Sha256dHash::from_data(&[]).data(),
[
0x5d, 0xf6, 0xe0, 0xe2, 0x76, 0x13, 0x59, 0xd3, 0x0a, 0x82, 0x75, 0x05, 0x8e, 0x29,
0x9f, 0xcc, 0x03, 0x81, 0x53, 0x45, 0x45, 0xf5, 0x5c, 0xf4, 0x3e, 0x41, 0x98, 0x3f,
0x5d, 0x4c, 0x94, 0x56,
]
);
}
#[test]
fn sha256d_encoder() {
let test = vec![true, false, true, true, false];