spec/cucumber/step_match_spec.rb in cucumber-1.3.20 vs spec/cucumber/step_match_spec.rb in cucumber-2.0.0.beta.1

- old
+ new

@@ -3,11 +3,11 @@ require 'cucumber/rb_support/rb_step_definition' require 'cucumber/rb_support/rb_language' module Cucumber describe StepMatch do - WORD = Cucumber::RUBY_1_8_7 ? '\w' : '[[:word:]]' + WORD = '[[:word:]]' before do @rb_language = RbSupport::RbLanguage.new(nil) end @@ -18,52 +18,62 @@ def step_match(regexp, name) stepdef = stepdef(regexp) StepMatch.new(stepdef, name, nil, stepdef.arguments_from(name)) end - it "should format one group when we use Unicode" do + it "formats one group when we use Unicode" do m = step_match(/I (#{WORD}+) ok/, "I æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ ok") - m.format_args("<span>%s</span>").should == "I <span>æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ</span> ok" + + expect(m.format_args("<span>%s</span>")).to eq "I <span>æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ</span> ok" end - it "should format several groups when we use Unicode" do + it "formats several groups when we use Unicode" do m = step_match(/I (#{WORD}+) (#{WORD}+) (#{WORD}+) this (#{WORD}+)/, "I ate æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ egg this morning") - m.format_args("<span>%s</span>").should == "I <span>ate</span> <span>æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ</span> <span>egg</span> this <span>morning</span>" + + expect(m.format_args("<span>%s</span>")).to eq "I <span>ate</span> <span>æøåÆØÅæøåÆØÅæøåÆØÅæøåÆØÅ</span> <span>egg</span> this <span>morning</span>" end - it "should deal with Unicode both inside and outside arguments" do - "Jæ vø ålsker døtte løndet".should =~ /Jæ (.+) ålsker (.+) løndet/ + it "deals with Unicode both inside and outside arguments" do + expect("Jæ vø ålsker døtte løndet").to match /Jæ (.+) ålsker (.+) løndet/ + m = step_match(/Jæ (#{WORD}+) ålsker (#{WORD}+) løndet/, "Jæ vø ålsker døtte løndet") - m.format_args("<span>%s</span>").should == "Jæ <span>vø</span> ålsker <span>døtte</span> løndet" + + expect(m.format_args("<span>%s</span>")).to eq "Jæ <span>vø</span> ålsker <span>døtte</span> løndet" end - it "should format groups with format string" do + it "formats groups with format string" do m = step_match(/I (#{WORD}+) (\d+) (#{WORD}+) this (#{WORD}+)/, "I ate 1 egg this morning") - m.format_args("<span>%s</span>").should == "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" + + expect(m.format_args("<span>%s</span>")).to eq "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" end - it "should format groups with format string when there are dupes" do + it "formats groups with format string when there are dupes" do m = step_match(/I (#{WORD}+) (\d+) (#{WORD}+) this (#{WORD}+)/, "I bob 1 bo this bobs") - m.format_args("<span>%s</span>").should == "I <span>bob</span> <span>1</span> <span>bo</span> this <span>bobs</span>" + + expect(m.format_args("<span>%s</span>")).to eq "I <span>bob</span> <span>1</span> <span>bo</span> this <span>bobs</span>" end - it "should format groups with block" do + it "formats groups with block" do m = step_match(/I (#{WORD}+) (\d+) (#{WORD}+) this (#{WORD}+)/, "I ate 1 egg this morning") - m.format_args(&lambda{|m| "<span>#{m}</span>"}).should == "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" + + expect(m.format_args(&lambda{|m| "<span>#{m}</span>"})).to eq "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" end - it "should format groups with proc object" do + it "formats groups with proc object" do m = step_match(/I (#{WORD}+) (\d+) (#{WORD}+) this (#{WORD}+)/, "I ate 1 egg this morning") - m.format_args(lambda{|m| "<span>#{m}</span>"}).should == "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" + + expect(m.format_args(lambda{|m| "<span>#{m}</span>"})).to eq "I <span>ate</span> <span>1</span> <span>egg</span> this <span>morning</span>" end - it "should format groups even when first group is optional and not matched" do + it "formats groups even when first group is optional and not matched" do m = step_match(/should( not)? be flashed '([^']*?)'$/, "I should be flashed 'Login failed.'") - m.format_args("<span>%s</span>").should == "I should be flashed '<span>Login failed.</span>'" + + expect(m.format_args("<span>%s</span>")).to eq "I should be flashed '<span>Login failed.</span>'" end - it "should format embedded groups" do + it "formats embedded groups" do m = step_match(/running( (\d+) times)? (\d+) meters/, "running 5 times 10 meters") - m.format_args("<span>%s</span>").should == "running<span> 5 times</span> <span>10</span> meters" + + expect(m.format_args("<span>%s</span>")).to eq "running<span> 5 times</span> <span>10</span> meters" end end end