@@ -18,6 +18,9 @@ class TestValue:
1818 (Value (None ), {}, None ),
1919 (Value ("True" ), {}, True ),
2020 (Value ("False" ), {}, None ),
21+ (Value ("undefined" , quoted = False ), {}, "undefined" ),
22+ (Value ("foo.bar" , quoted = False ), {}, "foo.bar" ),
23+ (Value ("foo.bar" , quoted = False ), {"foo" : {}}, "foo.bar" ),
2124 ],
2225 )
2326 def test_resolve (self , value , context , expected ):
@@ -46,6 +49,21 @@ class TestParam:
4649 {"item" : {"name" : "value" }},
4750 'class="item.name"' ,
4851 ),
52+ (
53+ Param (name = "class" , value = Value ("undefined" , quoted = False )),
54+ {},
55+ 'class="undefined"' ,
56+ ),
57+ (
58+ Param (name = "class" , value = Value ("foo.bar" , quoted = False )),
59+ {},
60+ 'class="foo.bar"' ,
61+ ),
62+ (
63+ Param (name = "class" , value = Value ("foo.bar" , quoted = False )),
64+ {"foo" : {}},
65+ 'class="foo.bar"' ,
66+ ),
4967 ],
5068 )
5169 def test_render_attr (self , param , context , expected ):
@@ -79,6 +97,21 @@ def test_render_attr(self, param, context, expected):
7997 {"user" : {"name" : "Alice" }},
8098 "user.name" ,
8199 ),
100+ (
101+ Param (name = "class" , value = Value ("undefined" , quoted = False )),
102+ {},
103+ "undefined" ,
104+ ),
105+ (
106+ Param (name = "data" , value = Value ("user.name" , quoted = False )),
107+ {},
108+ "user.name" ,
109+ ),
110+ (
111+ Param (name = "data" , value = Value ("user.name" , quoted = False )),
112+ {"user" : {}},
113+ "user.name" ,
114+ ),
82115 ],
83116 )
84117 def test_render_prop (self , param , context , expected ):
@@ -144,6 +177,24 @@ class TestParams:
144177 {"class" : "dynamic" },
145178 [],
146179 ),
180+ (
181+ Params (
182+ attrs = [Param (name = "class" , value = Value ("undefined" , quoted = False ))]
183+ ),
184+ [PropNode (name = "class" , default = None , attrs = [])],
185+ {},
186+ {"class" : "undefined" },
187+ [],
188+ ),
189+ (
190+ Params (
191+ attrs = [Param (name = "class" , value = Value ("user.name" , quoted = False ))]
192+ ),
193+ [PropNode (name = "class" , default = None , attrs = [])],
194+ {},
195+ {"class" : "user.name" },
196+ [],
197+ ),
147198 ],
148199 )
149200 def test_render_props (
@@ -186,6 +237,27 @@ def test_render_props(
186237 {"var" : "dynamic" },
187238 'class="dynamic"' ,
188239 ),
240+ (
241+ Params (
242+ attrs = [Param (name = "class" , value = Value ("undefined" , quoted = False ))]
243+ ),
244+ {},
245+ 'class="undefined"' ,
246+ ),
247+ (
248+ Params (
249+ attrs = [Param (name = "class" , value = Value ("user.name" , quoted = False ))]
250+ ),
251+ {},
252+ 'class="user.name"' ,
253+ ),
254+ (
255+ Params (
256+ attrs = [Param (name = "class" , value = Value ("user.name" , quoted = False ))]
257+ ),
258+ {"user" : {}},
259+ 'class="user.name"' ,
260+ ),
189261 ],
190262 )
191263 def test_render_attrs (self , params , context , expected ):
0 commit comments