File tree Expand file tree Collapse file tree 4 files changed +58
-16
lines changed Expand file tree Collapse file tree 4 files changed +58
-16
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ def strip(self, xml):
18
18
@raises (TwiMLException )
19
19
def test_append_fail (self ):
20
20
t = TwiML ()
21
- t .append ('foobar' )
21
+ t .append (12345 )
22
22
23
23
def test_format_language_none (self ):
24
24
language = None
Original file line number Diff line number Diff line change @@ -88,3 +88,25 @@ def test_redirect(self):
88
88
self .strip (r ),
89
89
'<?xml version="1.0" encoding="UTF-8"?><Response><Redirect>example.com</Redirect></Response>'
90
90
)
91
+
92
+
93
+ class TestText (TwilioTest ):
94
+ def test_text (self ):
95
+ r = MessagingResponse ()
96
+ r .append ('No tags!' )
97
+
98
+ assert_equal (
99
+ self .strip (r ),
100
+ '<?xml version="1.0" encoding="UTF-8"?><Response>No tags!</Response>'
101
+ )
102
+
103
+ def text_mixed (self ):
104
+ r = MessagingResponse ()
105
+ r .append ('before' )
106
+ r .append (Body ('Content' ))
107
+ r .append ('after' )
108
+
109
+ assert_equal (
110
+ self .strip (r ),
111
+ '<?xml version="1.0" encoding="UTF-8"?><Response>before<Body>Content</Body>after</Response>'
112
+ )
Original file line number Diff line number Diff line change @@ -602,3 +602,25 @@ def test_nested_say_play_pause(self):
602
602
self .strip (r ),
603
603
'<?xml version="1.0" encoding="UTF-8"?><Response><Gather><Say>Hey</Say><Play>hey.mp3</Play><Pause /></Gather></Response>'
604
604
)
605
+
606
+
607
+ class TestText (TwilioTest ):
608
+ def test_text (self ):
609
+ r = VoiceResponse ()
610
+ r .append ('No tags!' )
611
+
612
+ assert_equal (
613
+ self .strip (r ),
614
+ '<?xml version="1.0" encoding="UTF-8"?><Response>No tags!</Response>'
615
+ )
616
+
617
+ def text_mixed (self ):
618
+ r = VoiceResponse ()
619
+ r .append ('before' )
620
+ r .say ('Content' )
621
+ r .append ('after' )
622
+
623
+ assert_equal (
624
+ self .strip (r ),
625
+ '<?xml version="1.0" encoding="UTF-8"?><Response>before<Say>Content</Say>after</Response>'
626
+ )
Original file line number Diff line number Diff line change 1
- # coding=utf-8
2
- """
3
- This code was generated by
4
- \ / _ _ _| _ _
5
- | (_)\/(_)(_|\/| |(/_ v1.0.0
6
- / /
7
- """
8
-
9
1
import json
10
2
import re
11
3
import xml .etree .ElementTree as ET
@@ -79,10 +71,7 @@ def append(self, verb):
79
71
80
72
:returns: self
81
73
"""
82
- if not isinstance (verb , TwiML ):
83
- raise TwiMLException ('Only appending of TwiML is allowed' )
84
-
85
- self .verbs .append (verb )
74
+ self .nest (verb )
86
75
return self
87
76
88
77
def nest (self , verb ):
@@ -93,8 +82,8 @@ def nest(self, verb):
93
82
94
83
:returns: the TwiML verb
95
84
"""
96
- if not isinstance (verb , TwiML ):
97
- raise TwiMLException ('Only nesting of TwiML is allowed' )
85
+ if not isinstance (verb , TwiML ) and not isinstance ( verb , str ) :
86
+ raise TwiMLException ('Only nesting of TwiML and strings are allowed' )
98
87
99
88
self .verbs .append (verb )
100
89
return verb
@@ -118,7 +107,16 @@ def xml(self):
118
107
119
108
el .text = self .value
120
109
110
+ last_child = None
111
+
121
112
for verb in self .verbs :
122
- el .append (verb .xml ())
113
+ if isinstance (verb , str ):
114
+ if last_child :
115
+ last_child .tail = verb
116
+ else :
117
+ el .text = verb
118
+ else :
119
+ last_child = verb .xml ()
120
+ el .append (last_child )
123
121
124
122
return el
You can’t perform that action at this time.
0 commit comments