spoiler tags are now inline
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
.spoiler {
|
||||
color: black;
|
||||
background: black;
|
||||
cursor: text;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.spoiler a {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.spoiler:hover {
|
||||
.spoiler a:hover {
|
||||
color: white;
|
||||
}
|
||||
@@ -14,10 +14,10 @@ class DText
|
||||
str.gsub!(/&/, "&")
|
||||
str.gsub!(/</, "<")
|
||||
str.gsub!(/>/, ">")
|
||||
str.gsub!(/(?<!\[)\[spoilers?\](.+?)(?:\[\/?spoilers?\]|$)/m, '<span class="spoiler">\1</span>')
|
||||
str.gsub!(/\n/m, "<br>")
|
||||
str.gsub!(/\[b\](.+?)\[\/b\]/i, '<strong>\1</strong>')
|
||||
str.gsub!(/\[i\](.+?)\[\/i\]/i, '<em>\1</em>')
|
||||
str.gsub!(/\[spoilers?\](.+?)(?:\[\/?spoilers?\]|$)/, '<span class="spoiler">\1</span>')
|
||||
|
||||
str = parse_links(str)
|
||||
str = parse_aliased_wiki_links(str)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,10 +17,11 @@ class DTextTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
def test_spoilers
|
||||
assert_equal("", p("this is [spoiler]an inline spoiler[/spoiler]."))
|
||||
assert_equal("", p("this is\n\n[spoiler]\na block spoiler\n[/spoiler]."))
|
||||
assert_equal("", p("[spoiler]this is a spoiler with no closing tag\nnew text"))
|
||||
assert_equal("", p("[spoiler]this is [spoiler]a nested[/spoiler] spoiler[/spoiler]"))
|
||||
assert_equal("<p>this is <span class=\"spoiler\">an inline spoiler</span>.</p>", p("this is [spoiler]an inline spoiler[/spoiler]."))
|
||||
assert_equal("<p>this is</p><p><span class=\"spoiler\"><br>a block spoiler</span><br>[/spoiler].</p>", p("this is\n\n[spoiler]\na block spoiler\n[/spoiler]."))
|
||||
assert_equal("<p><span class=\"spoiler\">this is a spoiler with no closing tag</span></p><p>new text</p>", p("[spoiler]this is a spoiler with no closing tag\n\nnew text"))
|
||||
assert_equal("<p><span class=\"spoiler\">this is a spoiler with no closing tag</span><br>new text</p>", p("[spoiler]this is a spoiler with no closing tag\nnew text"))
|
||||
assert_equal("<p><span class=\"spoiler\">this is </span>a nested[/spoiler] spoiler[/spoiler]</p>", p("[spoiler]this is [spoiler]a nested[/spoiler] spoiler[/spoiler]"))
|
||||
end
|
||||
|
||||
def test_paragraphs
|
||||
@@ -78,11 +79,6 @@ class DTextTest < ActiveSupport::TestCase
|
||||
assert_equal('<p><a href="/posts?tags=%3C3"><3</a></p>', p("{{<3}}"))
|
||||
end
|
||||
|
||||
def test_missing_spoiler_tags
|
||||
assert_equal('<div class="spoiler"><p>testing</p></div>', p('[spoiler]testing'))
|
||||
assert_equal('<div class="spoiler"><div class="spoiler"><p>testing</p></div></div>', p('[spoiler][spoiler]testing[/spoiler]'))
|
||||
end
|
||||
|
||||
def test_extra_newlines
|
||||
assert_equal('<p>a</p><p>b</p>', p("a\n\n\n\n\n\n\nb\n\n\n\n"))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user