aboutsummaryrefslogtreecommitdiffstats
path: root/license-generator/paddle/src/lib.rs
diff options
context:
space:
mode:
authorTeddy Wing2018-11-08 01:07:41 +0100
committerTeddy Wing2018-11-08 01:07:41 +0100
commit84a22d31e249da180c128deb759e1fd6f92a9ff1 (patch)
tree27fa322d570aa1c15b6b501624c8b7a12211457c /license-generator/paddle/src/lib.rs
parentd226efe56948b5ef3aeae8b276c3b6332e008e95 (diff)
downloaddome-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;
Diffstat (limited to 'license-generator/paddle/src/lib.rs')
-rw-r--r--license-generator/paddle/src/lib.rs12
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);
}
}