3434class LazySelect :
3535 def __call__ (self , field , ** kwargs ):
3636 return list (
37- (val , str (label ), selected ) for val , label , selected in field .iter_choices ()
37+ (val , str (label ), selected , render_kw )
38+ for val , label , selected , render_kw in field .iter_choices ()
3839 )
3940
4041
@@ -111,7 +112,9 @@ class F(Form):
111112 form .a .query = sess .query (self .Test )
112113 self .assertTrue (form .a .data is not None )
113114 self .assertEqual (form .a .data .id , 1 )
114- self .assertEqual (form .a (), [("1" , "apple" , True ), ("2" , "banana" , False )])
115+ self .assertEqual (
116+ form .a (), [("1" , "apple" , True , {}), ("2" , "banana" , False , {})]
117+ )
115118 self .assertTrue (form .validate ())
116119
117120 form = F (a = sess .query (self .Test ).filter_by (name = "banana" ).first ())
@@ -144,28 +147,32 @@ class F(Form):
144147
145148 form = F ()
146149 self .assertEqual (form .a .data , None )
147- self .assertEqual (form .a (), [("1" , "apple" , False ), ("2" , "banana" , False )])
150+ self .assertEqual (
151+ form .a (), [("1" , "apple" , False , {}), ("2" , "banana" , False , {})]
152+ )
148153 self .assertEqual (form .b .data , None )
149154 self .assertEqual (
150155 form .b (),
151156 [
152- ("__None" , "" , True ),
153- ("hello1" , "apple" , False ),
154- ("hello2" , "banana" , False ),
157+ ("__None" , "" , True , {} ),
158+ ("hello1" , "apple" , False , {} ),
159+ ("hello2" , "banana" , False , {} ),
155160 ],
156161 )
157162 self .assertFalse (form .validate ())
158163
159164 form = F (DummyPostData (a = ["1" ], b = ["hello2" ]))
160165 self .assertEqual (form .a .data .id , 1 )
161- self .assertEqual (form .a (), [("1" , "apple" , True ), ("2" , "banana" , False )])
166+ self .assertEqual (
167+ form .a (), [("1" , "apple" , True , {}), ("2" , "banana" , False , {})]
168+ )
162169 self .assertEqual (form .b .data .baz , "banana" )
163170 self .assertEqual (
164171 form .b (),
165172 [
166- ("__None" , "" , False ),
167- ("hello1" , "apple" , False ),
168- ("hello2" , "banana" , True ),
173+ ("__None" , "" , False , {} ),
174+ ("hello1" , "apple" , False , {} ),
175+ ("hello2" , "banana" , True , {} ),
169176 ],
170177 )
171178 self .assertTrue (form .validate ())
@@ -174,11 +181,17 @@ class F(Form):
174181 sess .add (self .Test (id = 3 , name = "meh" ))
175182 sess .flush ()
176183 sess .commit ()
177- self .assertEqual (form .a (), [("1" , "apple" , True ), ("2" , "banana" , False )])
184+ self .assertEqual (
185+ form .a (), [("1" , "apple" , True , {}), ("2" , "banana" , False , {})]
186+ )
178187 form .a ._object_list = None
179188 self .assertEqual (
180189 form .a (),
181- [("1" , "apple" , True ), ("2" , "banana" , False ), ("3" , "meh" , False )],
190+ [
191+ ("1" , "apple" , True , {}),
192+ ("2" , "banana" , False , {}),
193+ ("3" , "meh" , False , {}),
194+ ],
182195 )
183196
184197 # Test bad data
@@ -217,14 +230,18 @@ def test_single_value_without_factory(self):
217230 form = self .F (DummyPostData (a = ["1" ]))
218231 form .a .query = self .sess .query (self .Test )
219232 self .assertEqual ([1 ], [v .id for v in form .a .data ])
220- self .assertEqual (form .a (), [("1" , "apple" , True ), ("2" , "banana" , False )])
233+ self .assertEqual (
234+ form .a (), [("1" , "apple" , True , {}), ("2" , "banana" , False , {})]
235+ )
221236 self .assertTrue (form .validate ())
222237
223238 def test_multiple_values_without_query_factory (self ):
224239 form = self .F (DummyPostData (a = ["1" , "2" ]))
225240 form .a .query = self .sess .query (self .Test )
226241 self .assertEqual ([1 , 2 ], [v .id for v in form .a .data ])
227- self .assertEqual (form .a (), [("1" , "apple" , True ), ("2" , "banana" , True )])
242+ self .assertEqual (
243+ form .a (), [("1" , "apple" , True , {}), ("2" , "banana" , True , {})]
244+ )
228245 self .assertTrue (form .validate ())
229246
230247 form = self .F (DummyPostData (a = ["1" , "3" ]))
@@ -245,7 +262,9 @@ class F(Form):
245262
246263 form = F ()
247264 self .assertEqual ([v .id for v in form .a .data ], [2 ])
248- self .assertEqual (form .a (), [("1" , "apple" , False ), ("2" , "banana" , True )])
265+ self .assertEqual (
266+ form .a (), [("1" , "apple" , False , {}), ("2" , "banana" , True , {})]
267+ )
249268 self .assertTrue (form .validate ())
250269
251270
0 commit comments