msfl_visitors 1.1.0.dev6 → 1.1.0.dev7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32396eb4d354abc1354870d15fb22e2328aaa6a5
4
- data.tar.gz: cf5865b6fcce2cb9e88cad25706d542439add95d
3
+ metadata.gz: 527b56ff39a1ef27ee5c54953f2f018825519e22
4
+ data.tar.gz: 2d0b50e7a59b37091a252e38023238dba36aaac9
5
5
  SHA512:
6
- metadata.gz: 5a6b76e2ea415343d350c8dce77a8422db02bf89370bc6df4787f498b723219589756d7018de2b8aa54755620772058d0d3cb86088d57fe07d973ba390987c7b
7
- data.tar.gz: 901fbc5717a6ce8dfc72030a2864b0898b4e3ffbce0048f5c19f213a833b50acd8f8e5944c1a5d44e0ff81c8c82fbdc905d39124df5433f99dfe61abf963f9cd
6
+ metadata.gz: 08254e255043304901bd24d758f847f737bf2b3aff4c9b278bf7cfccad41eb213f0d932b0b4ad9a7806baaf083bb03d1d634b8a47550f27432beb87cbc4042a2
7
+ data.tar.gz: 7f1e8de48af5eeff14d409a7ffc904e1eb117e0aa1cc4910620740bcd3fbbf74fca0b601ab69493a4a8070015667ea5b3921792855723d41bcbf2b8c1e794196
@@ -73,7 +73,7 @@ module MSFLVisitors
73
73
  when Nodes::Field
74
74
  node.value.to_s
75
75
  when Nodes::Regex
76
- %(Regexp.new( ".*#{Regexp.escape(node.value)}.*" ))
76
+ %(Regexp.new( '.*' + Regexp.escape( "#{node.value.to_s}" ) + '.*' ))
77
77
  when Nodes::Word
78
78
  "\"#{node.value}\""
79
79
  when Nodes::Date, Nodes::Time
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'msfl_visitors'
3
- s.version = '1.1.0.dev6'
3
+ s.version = '1.1.0.dev7'
4
4
  s.date = '2015-05-28'
5
5
  s.summary = "Convert MSFL to other forms"
6
6
  s.description = "Visitor pattern approach to converting MSFL to other forms."
@@ -202,8 +202,8 @@ describe MSFLVisitors::Visitor do
202
202
 
203
203
  context "when using the TermFilter visitor" do
204
204
 
205
- it "results in: 'Regexp.new( \".*foobar.*\")'" do
206
- expect(result).to eq %(Regexp.new( ".*foobar.*" ))
205
+ it "results in: 'Regexp.new( '.*' + Regexp.escape( \"foobar\" ) + '.*' )'" do
206
+ expect(result).to eq %(Regexp.new( '.*' + Regexp.escape( "foobar" ) + '.*' ))
207
207
  end
208
208
  end
209
209
 
@@ -237,6 +237,19 @@ describe MSFLVisitors::Visitor do
237
237
  end
238
238
  end
239
239
 
240
+ context "when the right hand side is a Value node that requires escaping" do
241
+
242
+ let(:right) { MSFLVisitors::Nodes::Word.new 'this (needs) to be* escaped' }
243
+
244
+ context "when using the TermFilter visitor" do
245
+
246
+ it "results in: 'left =~ Regexp.new( \".*this\\ \\(needs\\)\\ to\\ be\\*\\ escaped.*\" )'" do
247
+ expect(result).to eq %(lhs =~ Regexp.new( ".*this\\ \\(needs\\)\\ to\\ be\\*\\ escaped.*" ))
248
+ end
249
+ end
250
+
251
+ end
252
+
240
253
  context "when the right hand side is a Set node containing Value nodes" do
241
254
 
242
255
  let(:right) { MSFLVisitors::Nodes::Set.new [foo_node, bar_node, baz_node] }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msfl_visitors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.dev6
4
+ version: 1.1.0.dev7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courtland Caldwell