diff options
author | Teddy Wing | 2018-11-08 01:07:41 +0100 |
---|---|---|
committer | Teddy Wing | 2018-11-08 01:07:41 +0100 |
commit | 84a22d31e249da180c128deb759e1fd6f92a9ff1 (patch) | |
tree | 27fa322d570aa1c15b6b501624c8b7a12211457c | |
parent | d226efe56948b5ef3aeae8b276c3b6332e008e95 (diff) | |
download | dome-key-web-84a22d31e249da180c128deb759e1fd6f92a9ff1.tar.bz2 |
paddle: Add a test for `php_serialize()`
The expected value was generated with the following PHP code, some of
which was reproduced from the PHP example on
https://paddle.com/docs/reference-verifying-webhooks/ :
<?php
$fields = array(
'checkout_id' => '1234asdfjkl',
'currency' => 'USD',
'customer_name' => 'Senjougahara',
);
ksort($fields);
foreach($fields as $k => $v) {
if(!in_array(gettype($v), array('object', 'array'))) {
$fields[$k] = "$v";
}
}
$data = serialize($fields);
echo "Data: ", $data;
-rw-r--r-- | license-generator/paddle/src/lib.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/license-generator/paddle/src/lib.rs b/license-generator/paddle/src/lib.rs index a1db417..ebb0f01 100644 --- a/license-generator/paddle/src/lib.rs +++ b/license-generator/paddle/src/lib.rs @@ -32,9 +32,21 @@ where I: ExactSizeIterator<Item = (&'a str, &'a str)> { #[cfg(test)] mod tests { + use std::collections::BTreeMap; + use super::*; #[test] fn php_serialize_serializes_key_values_as_php_string() { + let mut data = BTreeMap::new(); + data.insert("checkout_id", "1234asdfjkl"); + data.insert("currency", "USD"); + data.insert("customer_name", "Senjougahara"); + + let expected = r#"a:3:{s:11:"checkout_id";s:11:"1234asdfjkl";s:8:"currency";s:3:"USD";s:13:"customer_name";s:12:"Senjougahara";}"#; + + let serialized_data = php_serialize(data); + + assert_eq!(serialized_data, expected); } } |