From ca612eb393fc80a86c43cde2a421f5c89533bcec Mon Sep 17 00:00:00 2001 From: Caleb Wright Date: Wed, 20 Jan 2010 00:37:42 +0800 Subject: [PATCH] added youtube js api filter --- lib/auto_html/filters/youtube_js_api.rb | 6 +++++ test/unit/filters/youtube_js_api_test.rb | 30 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 lib/auto_html/filters/youtube_js_api.rb create mode 100644 test/unit/filters/youtube_js_api_test.rb diff --git a/lib/auto_html/filters/youtube_js_api.rb b/lib/auto_html/filters/youtube_js_api.rb new file mode 100644 index 00000000..1576006c --- /dev/null +++ b/lib/auto_html/filters/youtube_js_api.rb @@ -0,0 +1,6 @@ +AutoHtml.add_filter(:youtube_js_api).with(:width => 390, :height => 250) do |text, options| + text.gsub(/http:\/\/(www.)?youtube\.com\/watch\?v=([A-Za-z0-9._%-]*)(\&\S+)?/) do + youtube_id = $2 + %{} + end +end \ No newline at end of file diff --git a/test/unit/filters/youtube_js_api_test.rb b/test/unit/filters/youtube_js_api_test.rb new file mode 100644 index 00000000..52f9e0a1 --- /dev/null +++ b/test/unit/filters/youtube_js_api_test.rb @@ -0,0 +1,30 @@ +require File.dirname(__FILE__) + '/../unit_test_helper' + +class YouTubeJsApiTest < Test::Unit::TestCase + + def test_transform + result = auto_html('http://www.youtube.com/watch?v=BwNrmYRiX_o') { youtube_js_api } + assert_equal '', result + end + + def test_transform2 + result = auto_html('http://www.youtube.com/watch?v=3-ewi9saKg8&eurl=http%3A%2F%2Fvukajlija.com%2Fvideo%2Fklipovi%3Fstrana%3D6&feature=player_embedded') { youtube_js_api } + assert_equal '', result + end + + def test_transform3 + result = auto_html('http://www.youtube.com/watch?v=Mw8KJ29qph0&feature=related') { youtube_js_api } + assert_equal '', result + end + + def test_transform_url_without_www + result = auto_html('http://youtube.com/watch?v=BwNrmYRiX_o') { youtube_js_api } + assert_equal '', result + end + + def test_transform_with_options + result = auto_html('http://www.youtube.com/watch?v=ZA1NoOOoaNw') { youtube_js_api(:width => 300, :height => 250) } + assert_equal '', result + end + +end \ No newline at end of file