File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -151,6 +151,12 @@ def build_connection_prelude
151
151
if @db && @db != 0
152
152
prelude << [ "SELECT" , @db . to_s ]
153
153
end
154
+
155
+ # Deep freeze all the strings and commands
156
+ prelude . map! do |commands |
157
+ commands = commands . map { |str | str . frozen? ? str : str . dup . freeze }
158
+ commands . freeze
159
+ end
154
160
prelude . freeze
155
161
end
156
162
end
Original file line number Diff line number Diff line change @@ -74,6 +74,17 @@ def test_user_password_uri
74
74
refute_predicate config , :ssl?
75
75
end
76
76
77
+ def test_frozen_prelude
78
+ config = Config . new ( url :
"redis://username:[email protected] " )
79
+ prelude = config . connection_prelude
80
+ assert_equal true , prelude . frozen?
81
+ assert_equal true , ( prelude . all? { |commands | commands . frozen? } )
82
+
83
+ prelude . each do |commands |
84
+ assert_equal true , ( commands . all? { |arg | arg . frozen? } )
85
+ end
86
+ end
87
+
77
88
def test_simple_password_uri
78
89
config = Config . new ( url :
"redis://[email protected] " )
79
90
assert_equal "example.com" , config . host
You can’t perform that action at this time.
0 commit comments