@@ -33,6 +33,40 @@ module Bullet
33
33
end
34
34
end
35
35
36
+ context '#skip_html_injection?' do
37
+ let ( :request ) { double ( 'request' ) }
38
+
39
+ it 'should return false if query_string is nil' do
40
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => nil } )
41
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_falsey
42
+ end
43
+
44
+ it 'should return false if query_string is empty' do
45
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => '' } )
46
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_falsey
47
+ end
48
+
49
+ it 'should return true if skip_html_injection parameter is true' do
50
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => 'skip_html_injection=true' } )
51
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_truthy
52
+ end
53
+
54
+ it 'should return false if skip_html_injection parameter is not true' do
55
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => 'skip_html_injection=false' } )
56
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_falsey
57
+ end
58
+
59
+ it 'should return false if skip_html_injection parameter is not present' do
60
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => 'other_param=value' } )
61
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_falsey
62
+ end
63
+
64
+ it 'should handle complex query strings' do
65
+ allow ( request ) . to receive ( :env ) . and_return ( { 'QUERY_STRING' => 'param1=value1&skip_html_injection=true¶m2=value2' } )
66
+ expect ( middleware . skip_html_injection? ( request ) ) . to be_truthy
67
+ end
68
+ end
69
+
36
70
context 'empty?' do
37
71
it 'should be false if response is a string and not empty' do
38
72
response = double ( body : '<html><head></head><body></body></html>' )
0 commit comments