diff --git a/Rakefile.rb b/Rakefile.rb new file mode 100644 index 0000000..4e87360 --- /dev/null +++ b/Rakefile.rb @@ -0,0 +1,6 @@ +require 'rake' +require 'rspec/core/rake_task' + +RSpec::Core::RakeTask.new(:spec) + +task :default => :spec \ No newline at end of file diff --git a/lib/embedda.rb b/lib/embedda.rb index f3ca481..a723563 100644 --- a/lib/embedda.rb +++ b/lib/embedda.rb @@ -18,8 +18,8 @@ def youtube_player(token) end def vimeo_replace(compiled) - compiled.gsub!(/]*?vimeo\.com\/(\d+).*?<\/a>/, vimeo_player("\\1")) - compiled.gsub!(/[http|https]+:\/\/(?:www\.)?vimeo\.com\/(\d+)\S*/, vimeo_player("\\1")) + compiled.gsub!(/]*?vimeo\.com\/(\d+).*?<\/a>/i, vimeo_player("\\1")) + compiled.gsub!(/[http|https]+:\/\/(?:www\.)?vimeo\.com\/(\d+)\S*/i, vimeo_player("\\1")) return compiled end diff --git a/spec/embedda_spec.rb b/spec/embedda_spec.rb new file mode 100644 index 0000000..855585b --- /dev/null +++ b/spec/embedda_spec.rb @@ -0,0 +1,56 @@ +require "spec_helper" +require 'embedda' + +describe "Embedda" do + context "Youtube-link" do + before(:all) do + @embed_string = '' + end + + it "should embed when text have a link" do + story = "http://www.youtube.com/watch?v=dQw4w9WgXcQ".embedda + expect(story).to eq(@embed_string) + end + + it "should embed when also other text is present around link" do + story = "Hello, my name is Kasper: http://www.youtube.com/watch?v=dQw4w9WgXcQ
And I am embedding links".embedda + expect(story).to eq("Hello, my name is Kasper: #{@embed_string}
And I am embedding links") + end + + it "should embed when text include anchor tag to Youtube" do + story = "Look here for HalfLife3!".embedda + expect(story).to eq(@embed_string) + end + + it "should embed when also other text is present around anchor tag" do + story = "Hello, my name is Kasper: Look here for HalfLife3!
And I am embedding links".embedda + expect(story).to eq("Hello, my name is Kasper: #{@embed_string}
And I am embedding links") + end + end + + context "Vimeo-link" do + before(:all) do + @embed_string = "" + end + + it "should embed when text have a link" do + story = "http://vimeo.com/20241459".embedda + expect(story).to eq(@embed_string) + end + + it "should embed when also other text is present around link" do + story = "Hello, my name is Kasper: http://vimeo.com/20241459
And I am embedding links".embedda + expect(story).to eq("Hello, my name is Kasper: #{@embed_string}
And I am embedding links") + end + + it "should embed when text include anchor tag to Youtube" do + story = "Look here for HalfLife3!".embedda + expect(story).to eq(@embed_string) + end + + it "should embed when also other text is present around anchor tag" do + story = "Hello, my name is Kasper: Look here for HalfLife3!
And I am embedding links".embedda + expect(story).to eq("Hello, my name is Kasper: #{@embed_string}
And I am embedding links") + end + end +end \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..7afd282 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,20 @@ +# This file was generated by the `rspec --init` command. Conventionally, all +# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. +# Require this file using `require "spec_helper"` to ensure that it is only +# loaded once. +# +# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration +require 'rubygems' +require 'bundler/setup' + +RSpec.configure do |config| + config.treat_symbols_as_metadata_keys_with_true_values = true + config.run_all_when_everything_filtered = true + config.filter_run :focus + + # Run specs in random order to surface order dependencies. If you find an + # order dependency and want to debug it, you can fix the order by providing + # the seed, which is printed after each run. + # --seed 1234 + config.order = 'random' +end