From 84a22d31e249da180c128deb759e1fd6f92a9ff1 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 8 Nov 2018 01:07:41 +0100 Subject: 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/ : '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; --- license-generator/paddle/src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'license-generator/paddle/src') 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 { #[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); } } -- cgit v1.2.3