summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/100markdown.t59
1 files changed, 59 insertions, 0 deletions
diff --git a/t/100markdown.t b/t/100markdown.t
new file mode 100644
index 000000000..5cc6ecd4e
--- /dev/null
+++ b/t/100markdown.t
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+# Enforce high standards against code that will be installed
+
+use 5.14.0;
+use strict;
+use warnings;
+
+use lib qw(. lib local/lib/perl5 t);
+use Test2::Bundle::Extended;
+use Bugzilla;
+use Bugzilla::Bug;
+use Bugzilla::Comment;
+use Bugzilla::User;
+use Bugzilla::Markdown;
+
+my $user_mock = mock 'Bugzilla::User' => (
+ override_constructor => ['new', 'hash'],
+);
+
+my $comment_mock = mock 'Bugzilla::Comment' => (
+ add_constructor => ['new', 'hash'],
+);
+
+my $bug_mock = mock 'Bugzilla::Bug' => (
+ override_constructor => ['new', 'hash'],
+);
+
+# mocked objects just take all constructor args and put them into the hash.
+my $user = Bugzilla::User->new(
+ userid => 33,
+ settings => { use_markdown => { is_enabled => 1, value => 'on' } },
+);
+my $bug = Bugzilla::Bug->new(bug_id => 666);
+my $comment = Bugzilla::Comment->new(already_wrapped => 0);
+
+Bugzilla->set_user($user);
+
+my $markdown_text = <<MARKDOWN;
+```
+this is a block
+> with an embedded blockquote
+```
+MARKDOWN
+
+my $markdown = Bugzilla::Markdown->new();
+
+ok($markdown, "got a new markdown object");
+my $markdown_html = $markdown->markdown($markdown_text, $bug, $comment);
+is("<pre><code>this is a block\n"
+ . "&gt; with an embedded blockquote</code></pre>\n",
+ $markdown_html, "code block with embedded block quote");
+
+done_testing;