diff --git a/app/logical/d_text.rb b/app/logical/d_text.rb index 76c665e32..a516dcef7 100644 --- a/app/logical/d_text.rb +++ b/app/logical/d_text.rb @@ -131,6 +131,8 @@ class DText str.gsub!(/\s*\[\/quote\]\s*/m, "\n\n[/quote]\n\n") str.gsub!(/\s*\[code\]\s*/m, "\n\n[code]\n\n") str.gsub!(/\s*\[\/code\]\s*/m, "\n\n[/code]\n\n") + str.gsub!(/\[spoilers?\]\s+/m, "\n\n[spoiler]\n\n") + str.gsub!(/\s+\[\/spoilers?\]/m, "\n\n[/spoiler]\n\n") str.gsub!(/^(h[1-6]\.\s*.+)$/, "\n\n\\1\n\n") end @@ -172,6 +174,18 @@ class DText else "" end + + when "[spoiler]" + stack << "spoiler" + '
this is an inline spoiler.
", p("this is [spoiler]an inline spoiler[/spoiler].")) - assert_equal("this is
a block spoiler
.
this is
a block spoiler
.
", p("this is\n\n[spoiler]\na block spoiler\n[/spoiler].")) assert_equal("[spoiler]this is a spoiler with no closing tag
new text
", p("[spoiler]this is a spoiler with no closing tag\n\nnew text")) assert_equal("[spoiler]this is a spoiler with no closing tag
new text
this is [spoiler]a nested spoiler[/spoiler]
", p("[spoiler]this is [spoiler]a nested[/spoiler] spoiler[/spoiler]")) + assert_equal("this is a block spoiler with no closing tag