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