/plugins/pago_orders/pago_twilio/vendor/twilio/sdk/tests/TwimlTest.php
PHP | 377 lines | 321 code | 50 blank | 6 comment | 0 complexity | a4736d660b379db7308ba0e7fe7e10a6 MD5 | raw file
- <?php
- use \Mockery as m;
- require_once 'Twilio/Twiml.php';
- class TwimlTest extends PHPUnit_Framework_TestCase {
- function tearDown() {
- m::close();
- }
-
- function testEmptyResponse() {
- $r = new Services_Twilio_Twiml();
- $expected = '<Response></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r,
- "Should be an empty response");
- }
-
- public function testSayBasic() {
- $r = new Services_Twilio_Twiml();
- $r->say("Hello Monkey");
- $expected = '<Response><Say>Hello Monkey</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayLoopThree() {
- $r = new Services_Twilio_Twiml();
- $r->say("Hello Monkey", array("loop" => 3));
- $expected = '<Response><Say loop="3">Hello Monkey</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayLoopThreeWoman() {
- $r = new Services_Twilio_Twiml();
- $r->say("Hello Monkey", array("loop" => 3, "voice"=>"woman"));
- $expected = '<Response><Say loop="3" voice="woman">'
- . 'Hello Monkey</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayConvienceMethod() {
- $r = new Services_Twilio_Twiml();
- $r->say("Hello Monkey", array("language" => "fr"));
- $expected = '<Response><Say language="fr">'
- . 'Hello Monkey</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayUTF8() {
- $r = new Services_Twilio_Twiml();
- $r->say("é tü & må");
- $expected = '<Response><Say>'
- . 'é tü & må</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayNamedEntities() {
- $r = new Services_Twilio_Twiml();
- $r->say("é tü & må");
- $expected = '<Response><Say>'
- . 'é tü & må</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSayNumericEntities() {
- $r = new Services_Twilio_Twiml();
- $r->say("é tü & må");
- $expected = '<Response><Say>'
- . 'é tü & må</Say></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testPlayBasic() {
- $r = new Services_Twilio_Twiml();
- $r->play("hello-monkey.mp3");
- $expected = '<Response><Play>hello-monkey.mp3</Play></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testPlayLoopThree() {
- $r = new Services_Twilio_Twiml();
- $r->play("hello-monkey.mp3", array("loop" => 3));
- $expected = '<Response><Play loop="3">'
- . 'hello-monkey.mp3</Play></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testPlayConvienceMethod() {
- $r = new Services_Twilio_Twiml();
- $r->play("hello-monkey.mp3", array("loop" => 3));
- $expected = '<Response><Play loop="3">'
- . 'hello-monkey.mp3</Play></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- //Test Record Verb
- public function testRecord() {
- $r = new Services_Twilio_Twiml();
- $r->record();
- $expected = '<Response><Record></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testRecordActionMethod() {
- $r = new Services_Twilio_Twiml();
- $r->record(array("action" => "example.com", "method" => "GET"));
- $expected = '<Response><Record action="example.com" '
- . 'method="GET"></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- public function testBooleanBecomesString() {
- $r = new Services_Twilio_Twiml();
- $r->record(array("transcribe" => true));
- $expected = '<Response><Record transcribe="true" '
- . '></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testRecordMaxLengthKeyTimeout(){
- $r = new Services_Twilio_Twiml();
- $r->record(array("timeout" => 4, "finishOnKey" => "#",
- "maxLength" => 30));
- $expected = '<Response><Record timeout="4" finishOnKey="#" '
- . 'maxLength="30"></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testRecordConvienceMethod(){
- $r = new Services_Twilio_Twiml();
- $r->record(array("transcribeCallback" => "example.com"));
- $expected = '<Response><Record '
- . 'transcribeCallback="example.com"></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testRecordAddAttribute(){
- $r = new Services_Twilio_Twiml();
- $r->record(array("foo" => "bar"));
- $expected = '<Response><Record foo="bar"></Record></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- //Test Redirect Verb
- public function testRedirect() {
- $r = new Services_Twilio_Twiml();
- $r->redirect();
- $expected = '<Response><Redirect></Redirect></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- public function testAmpersandEscaping() {
- $r = new Services_Twilio_Twiml();
- $test_amp = "test&two&three";
- $r->redirect($test_amp);
- $expected = '<Response><Redirect>' .
- 'test&two&three</Redirect></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- public function testRedirectConvience() {
- $r = new Services_Twilio_Twiml();
- $r->redirect();
- $expected = '<Response><Redirect></Redirect></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- public function testRedirectAddAttribute(){
- $r = new Services_Twilio_Twiml();
- $r->redirect(array("foo" => "bar"));
- $expected = '<Response><Redirect foo="bar"></Redirect></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- //Test Hangup Verb
- public function testHangup() {
- $r = new Services_Twilio_Twiml();
- $r->hangup();
- $expected = '<Response><Hangup></Hangup></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testHangupConvience() {
- $r = new Services_Twilio_Twiml();
- $r->hangup();
- $expected = '<Response><Hangup></Hangup></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testHangupAddAttribute(){
- $r = new Services_Twilio_Twiml();
- $r->hangup(array("foo" => "bar"));
- $expected = '<Response><Hangup foo="bar"></Hangup></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- //Test Pause Verb
- public function testPause() {
- $r = new Services_Twilio_Twiml();
- $r->pause();
- $expected = '<Response><Pause></Pause></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testPauseConvience() {
- $r = new Services_Twilio_Twiml();
- $r->pause();
- $expected = '<Response><Pause></Pause></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testPauseAddAttribute(){
- $r = new Services_Twilio_Twiml();
- $r->pause(array("foo" => "bar"));
- $expected = '<Response><Pause foo="bar"></Pause></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- //Test Dial Verb
- public function testDial() {
- $r = new Services_Twilio_Twiml();
- $r->dial("1231231234");
- $expected = '<Response><Dial>1231231234</Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testDialConvience() {
- $r = new Services_Twilio_Twiml();
- $r->dial();
- $expected = '<Response><Dial></Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testDialAddNumber() {
- $r = new Services_Twilio_Twiml();
- $d = $r->dial();
- $d->number("1231231234");
- $expected = '<Response><Dial><Number>'
- . '1231231234</Number></Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testDialAddConference() {
- $r = new Services_Twilio_Twiml();
- $d = $r->dial();
- $d->conference("MyRoom");
- $expected = '<Response><Dial><Conference>'
- . 'MyRoom</Conference></Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testDialAddConferenceConvience() {
- $r = new Services_Twilio_Twiml();
- $d = $r->dial();
- $d->conference("MyRoom", array("startConferenceOnEnter" => "false"));
- $expected = '<Response><Dial><Conference startConferenceOnEnter='
- . '"false">MyRoom</Conference></Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testDialAddAttribute() {
- $r = new Services_Twilio_Twiml();
- $r->dial(array("foo" => "bar"));
- $expected = '<Response><Dial foo="bar"></Dial></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- //Test Gather Verb
- public function testGather() {
- $r = new Services_Twilio_Twiml();
- $r->gather();
- $expected = '<Response><Gather></Gather></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testGatherMethodAction(){
- $r = new Services_Twilio_Twiml();
- $r->gather(array("action"=>"example.com", "method"=>"GET"));
- $expected = '<Response><Gather action="example.com" '
- . 'method="GET"></Gather></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testGatherActionWithParams(){
- $r = new Services_Twilio_Twiml();
- $r->gather(array("action" => "record.php?action=recordPageNow"
- . "&id=4&page=3"));
- $expected = '<Response><Gather action="record.php?action='
- . 'recordPageNow&id=4&page=3"></Gather></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testGatherNestedVerbs(){
- $r = new Services_Twilio_Twiml();
- $g = $r->gather(array("action"=>"example.com", "method"=>"GET"));
- $g->say("Hello World");
- $g->play("helloworld.mp3");
- $g->pause();
- $expected = '
- <Response>
- <Gather action="example.com" method="GET">
- <Say>Hello World</Say>
- <Play>helloworld.mp3</Play>
- <Pause></Pause>
- </Gather>
- </Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testGatherNestedVerbsConvienceMethods(){
- $r = new Services_Twilio_Twiml();
- $g = $r->gather(array("action"=>"example.com", "method"=>"GET"));
- $g->say("Hello World");
- $g->play("helloworld.mp3");
- $g->pause();
- $expected = '
- <Response>
- <Gather action="example.com" method="GET">
- <Say>Hello World</Say>
- <Play>helloworld.mp3</Play>
- <Pause></Pause>
- </Gather>
- </Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testGatherAddAttribute(){
- $r = new Services_Twilio_Twiml();
- $r->gather(array("foo" => "bar"));
- $expected = '<Response><Gather foo="bar"></Gather></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSms() {
- $r = new Services_Twilio_Twiml();
- $r->sms("Hello World");
- $expected = '<Response><Sms>Hello World</Sms></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSmsConvience() {
- $r = new Services_Twilio_Twiml();
- $r->sms("Hello World");
- $expected = '<Response><Sms>Hello World</Sms></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testSmsAddAttribute() {
- $r = new Services_Twilio_Twiml();
- $r->sms(array("foo" => "bar"));
- $expected = '<Response><Sms foo="bar"></Sms></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
-
- public function testReject() {
- $r = new Services_Twilio_Twiml();
- $r->reject();
- $expected = '<Response><Reject></Reject></Response>';
- $this->assertXmlStringEqualsXmlString($expected, $r);
- }
- function testGeneration() {
- $r = new Services_Twilio_Twiml();
- $r->say('hello');
- $r->dial()->number('123', array('sendDigits' => '456'));
- $r->gather(array('timeout' => 15));
- $doc = simplexml_load_string($r);
- $this->assertEquals('Response', $doc->getName());
- $this->assertEquals('hello', (string) $doc->Say);
- $this->assertEquals('456', (string) $doc->Dial->Number['sendDigits']);
- $this->assertEquals('123', (string) $doc->Dial->Number);
- $this->assertEquals('15', (string) $doc->Gather['timeout']);
- }
- }