Sha256: 8ad5cf47015fe3f3839bd1cca574b176b7bdb1cc38948a52f7bd20479aac0774

Contents?: true

Size: 1.85 KB

Versions: 50

Compression:

Stored size: 1.85 KB

Contents

# encoding: utf-8
#--
#   Copyright (C) 2012 Gitorious AS
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU Affero General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU Affero General Public License for more details.
#
#   You should have received a copy of the GNU Affero General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#++
require "test_helper"
require "libdolt/view/markup"
require "libdolt/view/syntax_highlight"

module StubHighlighter
  def highlight(path, code, opt = {})
    return "##[#{opt[:lexer]}]#{code}##"
  end
end

describe Dolt::View::Markup do
  include Dolt::View::Markup

  describe "#render_markup" do
    include Dolt::View::SyntaxHighlight

    it "wraps markup in .gts-markup" do
      html = render_markup("file.md", "# Hey")
      assert_match "<div class=\"gts-markup\">", html
    end

    it "renders multi-line code blocks with syntax highlighting" do
      html = render_markup("file.md", <<-MD)
```cl
(s-trim-left "trim ") ;; => "trim "
(s-trim-left " this") ;; => "this"
```
      MD

      assert_match "<pre class=\"common-lisp prettyprint\">", html
    end

    it "highlights multiple separate multi-line code blocks" do
      html = render_markup("file.md", <<-MD)
# # This stuff

```cl
(s-trim-left "trim ") ;; => "trim "
(s-trim-left " this") ;; => "this"
```

# And this stuff

```cl
(s-trim-left "trim ") ;; => "trim "
(s-trim-left " this") ;; => "this"
```
      MD

      assert_equal 2, html.scan(/common-lisp/).length
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
libdolt-0.34.0 test/libdolt/view/markup_test.rb
libdolt-0.33.18 test/libdolt/view/markup_test.rb
libdolt-0.33.17 test/libdolt/view/markup_test.rb
libdolt-0.33.16 test/libdolt/view/markup_test.rb
libdolt-0.33.15 test/libdolt/view/markup_test.rb
libdolt-0.33.14 test/libdolt/view/markup_test.rb
libdolt-0.33.13 test/libdolt/view/markup_test.rb
libdolt-0.33.12 test/libdolt/view/markup_test.rb
libdolt-0.33.11 test/libdolt/view/markup_test.rb
libdolt-0.33.10 test/libdolt/view/markup_test.rb
libdolt-0.33.9 test/libdolt/view/markup_test.rb
libdolt-0.33.8 test/libdolt/view/markup_test.rb
libdolt-0.33.7 test/libdolt/view/markup_test.rb
libdolt-0.33.6 test/libdolt/view/markup_test.rb
libdolt-0.33.5 test/libdolt/view/markup_test.rb
libdolt-0.33.4 test/libdolt/view/markup_test.rb
libdolt-0.33.3 test/libdolt/view/markup_test.rb
libdolt-0.33.2 test/libdolt/view/markup_test.rb
libdolt-0.33.1 test/libdolt/view/markup_test.rb
libdolt-0.33.0 test/libdolt/view/markup_test.rb