diff options
author | Jeremy Evans <code@jeremyevans.net> | 2022-05-09 11:03:14 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2022-05-25 08:33:11 -0700 |
commit | 0a5c10d4ce604d46c093719f5d15241090adc839 (patch) | |
tree | dcdc2af03821f6987957e389942b16fa7574d4c7 /test | |
parent | f587034d9d2c9a8964cf6a30b32ef264b3375c6b (diff) | |
download | rack-0a5c10d4ce604d46c093719f5d15241090adc839.tar.gz |
Add 100% line/branch coverage to rack/query_parser.rb
Remove dead code in _normalize_params. There are two different types of
dead code. First, directly before this dead code, you have
`v ||= String.new`, so `!v.nil?` is always true and could be removed.
The remaining conditions for the dead branch are `k.empty?` and
`name = '[]'`. Looking at the conditional above, it's never possible
for these two conditions to be simultaneously true:
```ruby
if !name
# name != '[]'
elsif depth == 0
if start = name.index('[', 1)
k = name[0, start]
# !k.empty?
else
k = name
# !k.empty? || name != '[]'
end
elsif name.start_with?('[]')
k = '[]'
# !k.empty?
else # all remaining branches
# name != '[]', otherwise previous branch taken
end
```
Coverage after this commit:
3283 relevant lines, 3282 lines covered and 1 lines missed. ( 99.97% )
1112 total branches, 1068 branches covered and 44 branches missed. ( 96.04% )
Diffstat (limited to 'test')
-rw-r--r-- | test/spec_utils.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/spec_utils.rb b/test/spec_utils.rb index 90df2e27..6b75e2ef 100644 --- a/test/spec_utils.rb +++ b/test/spec_utils.rb @@ -131,6 +131,14 @@ describe Rack::Utils do Rack::Utils.parse_nested_query(nil).must_equal({}) end + deprecated "should warn for deprecated QueryParser.make_default call with key_space_limit" do + Rack::QueryParser.make_default(1, 1).must_be_kind_of Rack::QueryParser + end + + deprecated "should warn using deprecated QueryParser.new call with key_space_limit" do + Rack::QueryParser.new(Rack::QueryParser::Params, 1, 1).must_be_kind_of Rack::QueryParser + end + deprecated "should warn using deprecated Rack::Util.key_space_limit=" do Rack::Utils.key_space_limit = 65536 end |