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 /license-generator | |
| 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;
Diffstat (limited to 'license-generator')
| -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);      }  }  | 
