
NULL pointer given (ArgumentError) when label tag doesn't wrap around input tag -- fills_in
Reported by rssaddict | November 10th, 2008 @ 09:35 PM
If you have a form tag that looks like:
< form >
< label for="email" name="email" >Email< /label >
< input type="text" id="email" >< /input >
< /form >
Webrat will throw an error when you call fills_in('Email', :with => 'whatever'):
NULL pointer given (ArgumentError)
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/field.rb:106:in `name'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/field.rb:106:in `label_elements'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/field.rb:97:in `labels'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/field.rb:44:in `matches_label?'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/form.rb:64:in `field_labeled'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/form.rb:63:in `select'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/form.rb:63:in `field_labeled'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/locators.rb:31:in `find_field_labeled'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core_extensions/detect_mapped.rb:5:in `detect_mapped'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core_extensions/detect_mapped.rb:4:in `each'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core_extensions/detect_mapped.rb:4:in `detect_mapped'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/locators.rb:30:in `find_field_labeled'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/locators.rb:15:in `field_labeled'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/locators.rb:10:in `field'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/scope.rb:183:in `locate_field'
/usr/lib/ruby/gems/1.8/gems/webrat-0.3.2/lib/webrat/core/scope.rb:41:in `fills_in'
If the label tag is wrapped around the input instead, like:
< form >
< label for="email" name="email" >Email
< input type="text" id="email">< /input >< /label >
< /form >
it works fine.
I tried commenting out the code on lines 104 to 111 of field.rb in webrat/core and it seems to solve my problem. I can't exactly figure out what that code was meant to do, obviously it's there for some reason, but I can't seem to fix this bug on my own.
If there's anything else I can help with let me know.
Comments and changes to this ticket
-
Bryan Helmkamp November 13th, 2008 @ 11:24 PM
- State changed from new to resolved
I'm going to close this ticket as a duplicate of #29 since there is a patch in that one. Let's continue this thread there.
-
Bryan Helmkamp November 16th, 2008 @ 06:22 PM
- State changed from resolved to duplicate
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
Ruby Acceptance Testing for Web applications.
People watching this ticket
Referenced by
-
29 NULL pointer when label_elements loops up parent chain This may also fixe ticket #28 as it seems to be related t...
-
29 [PATCH] NULL pointer when label_elements loops up parent chain So all it needed was a bit of tenderlove to fix the probl...