X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e9e4b10473fa536cdb840303ee4afccf71c69329..00db1066ef1198355bfec4e043c3e51411112294:/test/lib/rich_text_test.rb
diff --git a/test/lib/rich_text_test.rb b/test/lib/rich_text_test.rb
index 033a221d4..e0b315276 100644
--- a/test/lib/rich_text_test.rb
+++ b/test/lib/rich_text_test.rb
@@ -250,6 +250,84 @@ class RichTextTest < ActiveSupport::TestCase
assert_equal 141, r.spam_score.round
end
+ def test_text_no_image
+ r = RichText.new("text", "foo https://example.com/ bar")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_html_no_image
+ r = RichText.new("html", "foo bar baz")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_no_image
+ r = RichText.new("markdown", "foo [bar](https://example.com/) baz")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_image
+ r = RichText.new("markdown", "foo ![bar](https://example.com/image.jpg) baz")
+ assert_equal "https://example.com/image.jpg", r.image
+ assert_equal "bar", r.image_alt
+ end
+
+ def test_markdown_first_image
+ r = RichText.new("markdown", "foo ![bar1](https://example.com/image1.jpg) baz\nfoo ![bar2](https://example.com/image2.jpg) baz")
+ assert_equal "https://example.com/image1.jpg", r.image
+ assert_equal "bar1", r.image_alt
+ end
+
+ def test_markdown_image_with_empty_src
+ r = RichText.new("markdown", "![invalid]()")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_skip_image_with_empty_src
+ r = RichText.new("markdown", "![invalid]() ![valid](https://example.com/valid.gif)")
+ assert_equal "https://example.com/valid.gif", r.image
+ assert_equal "valid", r.image_alt
+ end
+
+ def test_markdown_html_image
+ r = RichText.new("markdown", "")
+ assert_equal "https://example.com/img_element.png", r.image
+ assert_equal "alt text here", r.image_alt
+ end
+
+ def test_markdown_html_image_without_alt
+ r = RichText.new("markdown", "")
+ assert_equal "https://example.com/img_element.png", r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_html_image_with_empty_src
+ r = RichText.new("markdown", "")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_skip_html_image_with_empty_src
+ r = RichText.new("markdown", " ")
+ assert_equal "https://example.com/next_img_element.png", r.image
+ assert_equal "have src", r.image_alt
+ end
+
+ def test_markdown_html_image_without_src
+ r = RichText.new("markdown", "")
+ assert_nil r.image
+ assert_nil r.image_alt
+ end
+
+ def test_markdown_skip_html_image_without_src
+ r = RichText.new("markdown", " ")
+ assert_equal "https://example.com/next_img_element.png", r.image
+ assert_equal "have src", r.image_alt
+ end
+
private
def assert_html(richtext, &block)