'en-US', 'voice' => 'Polly.Joanna' ); $params2 = array( 'alphabet' => 'ipa', 'ph' => "pɪˈkɑːn" ); $response->addSpeak('You say, ',$params1) ->addPhoneme('pecan',$params2) ->continueSpeak('.') ->continueSpeak('I say, ') ->addPhoneme('pecan',array( 'alphabet' => 'ipa', 'ph' => "ˈpi.kæn" )) ->continueSpeak('.'); $ssml = $response->toXML(true); // $actual = new \DOMDocument; // $actual->loadXML($ssml); self::assertNotNull($ssml); self::assertXmlStringEqualsXmlFile(__DIR__ . '/../Mocks/phonemeSpeak.xml',$ssml); } function testExceptionAddPhoneme() { $this->expectPlivoException('Plivo\Exceptions\PlivoXMLException'); $response = new Response(); $params1 = array( 'language' => 'en-US', 'voice' => 'Polly.Joanna' ); $params2 = array( 'alphabet' => 'ipa', 'ph' => "pɪˈkɑːn" ); $response->addSpeak('You say, ',$params1) ->addPhoneme('pecan',$params2) ->continueSpeak('.') ->continueSpeak('I say, ') ->addPhoneme('',array( 'alphabet' => 'ipa', 'ph' => "ˈpi.kæn" )) ->continueSpeak('.'); $ssml = $response->toXML(true); } function testExceptionAttributeAlphabetAddPhoneme() { $this->expectPlivoException('Plivo\Exceptions\PlivoXMLException'); $response = new Response(); $params1 = array( 'language' => 'en-US', 'voice' => 'Polly.Joanna' ); $params2 = array( 'alphabet' => 'ipa', 'ph' => "pɪˈkɑːn" ); $response->addSpeak('You say, ',$params1) ->addPhoneme('pecan',$params2) ->continueSpeak('.') ->continueSpeak('I say, ') ->addPhoneme('pecan',array( 'alphabets' => 'ipa', 'ph' => "ˈpi.kæn" )) ->continueSpeak('.'); $ssml = $response->toXML(true); } function testExceptionAttributeAlphabetValueAddPhoneme() { $this->expectPlivoException('Plivo\Exceptions\PlivoXMLException'); $response = new Response(); $params1 = array( 'language' => 'en-US', 'voice' => 'Polly.Joanna' ); $params2 = array( 'alphabet' => 'ipa', 'ph' => "pɪˈkɑːn" ); $response->addSpeak('You say, ',$params1) ->addPhoneme('pecan',$params2) ->continueSpeak('.') ->continueSpeak('I say, ') ->addPhoneme('pecan',array( 'alphabet' => 'ip', 'ph' => "ˈpi.kæn" )) ->continueSpeak('.'); $ssml = $response->toXML(true); } function testExceptionSSMLSupported() { $this->expectPlivoException('Plivo\Exceptions\PlivoXMLException'); $params1 = array( 'language' => 'en-US' ); $params2 = array( 'strength' => 'x-weak', 'times' => '3s' ); $response = new Response(); $response->addSpeak('You say, ',$params1) ->addPhoneme('pecan',$params2) ->continueSpeak('.') ->continueSpeak('I say, ') ->addPhoneme('pecan',array( 'alphabet' => 'ipa', 'ph' => "ˈpi.kæn" )) ->continueSpeak('.'); } }