protected function checkSerializeArray($data, Serializer $serializer) { $replace = array(); foreach ($data as $key => $value) { if ($this->checkIfWalkerIsNeeded($value)) { $data[$key] = $serializer->serialize($value); } } return $data; }
/** * Test serialization of an array */ public function testArraySerialization() { $request = new JsonRequestWithArray(); $jsonWalker = new Json(); $serilizer = new Serializer(); $serilizer->setVisitor($jsonWalker); $serilizedData = $jsonWalker->visit($request, $serilizer); $this->assertJson($serilizedData, "Walker did not return json"); $this->assertJsonStringEqualsJsonString($serilizedData, '{"test":1,"test2":2,"arrayValue":[{"test":1,"test2":2},{"test":1,"test2":2}]}'); }
/** * Test serialization of an array */ public function testArraySerialization() { $request = new UrlRequestWithArray(); $formWalker = new UrlEncode(); $serilizer = new Serializer(); $serilizer->setVisitor($formWalker); $serilizer->setVisitor(new Json()); $serilizedData = $formWalker->visit($request, $serilizer); $this->assertEquals("test=1&test2=2&arrayValue=%5B%7B%22test%22%3A1%2C%22test2%22%3A2%7D%2C%7B%22test%22%3A1%2C%22test2%22%3A2%7D%5D", $serilizedData, "Message serilized string is not what is expected"); }
protected function checkSerializeArray($data, Serializer $serializer) { $replace = array(); foreach ($data as $key => $value) { if ($value instanceof FileInterface) { $data[$key] = 'FILE::' . $value->getPath(); $this->fileFields[] = $key; } elseif ($this->checkIfWalkerIsNeeded($value)) { $data[$key] = $serializer->serialize($value); } } return $data; }
/** * Test if an exception gets raised if a walker could not be found */ public function testSerializerCouldNotFindVisitor() { try { $serializer = new Serializer(); $serializer->serialize(new NonRecursiveJsonRequest()); $this->fail("No exception was raised"); } catch (AbstractException $e) { $this->assertInstanceOf('Upg\\Library\\Serializer\\Exception\\VisitorCouldNotBeFound', $e, "Incorrect Exception type raised"); } catch (\Exception $e) { $instance = get_class($e); $this->fail("A non library serializer exception was raised instance is {$instance}, got: {$e->getMessage()}"); } }
/** * Set request that MAC needs to be calculated on * @param AbstractRequest $request * @return $this * @throws \Upg\Library\Serializer\Exception\VisitorCouldNotBeFound */ public function setRequest(AbstractRequest $request) { $data = array(); /**Serialize the any sub objects**/ foreach ($request->getSerializerData() as $key => $value) { if ($this->needsToBeSerialized($value)) { $data[$key] = $this->serializer->serialize($value); } else { $data[$key] = $value; } } $this->setCalculationArray($data); return $this; }
public function testRecursiveSerialization() { $request = new MultipartRequest(); $multipartRequest = new MultipartFormData(); $request->data = array('test1' => 1, 'json' => new NonRecursiveJsonRequest()); $serializer = new Serializer(); $serializer->setVisitor(new Json()); $serilizedData = $multipartRequest->visit($request, $serializer); $this->assertNotEmpty($serilizedData, "serializer returned nothing"); $this->assertArrayHasKey('test1', $serilizedData, "test1 field is non existent"); $this->assertArrayHasKey('json', $serilizedData, "test1 field is non existent"); $this->assertEquals(1, $serilizedData['test1']); $this->assertJson($serilizedData['json']); $this->assertJsonStringEqualsJsonString($serilizedData['json'], '{"test":1,"test2":2}'); }