getMethod('_encodeObjects'); $method->setAccessible(true); $a = array('customer' => new Customer('abcd')); $enc = $method->invoke(null, $a); $this->assertSame($enc, array('customer' => 'abcd')); // Preserves UTF-8 $v = array('customer' => "☃"); $enc = $method->invoke(null, $v); $this->assertSame($enc, $v); // Encodes latin-1 -> UTF-8 $v = array('customer' => "\xe9"); $enc = $method->invoke(null, $v); $this->assertSame($enc, array('customer' => "\xc3\xa9")); } public function testHttpClientInjection() { $reflector = new \ReflectionClass('Stripe\\ApiRequestor'); $method = $reflector->getMethod('httpClient'); $method->setAccessible(true); $curl = new CurlClient(); $curl->setTimeout(10); ApiRequestor::setHttpClient($curl); $injectedCurl = $method->invoke(new ApiRequestor()); $this->assertSame($injectedCurl, $curl); } }