Modified gitcode to allow syntax highlighting of arbitrary files

This commit is contained in:
Daniel Kimsey
2012-11-15 16:06:44 -05:00
parent f5581c4b49
commit 7d5311a075
4 changed files with 77 additions and 24 deletions
+60
View File
@@ -34,6 +34,66 @@ context "gitcode" do
assert_equal g.contents, %{<ol class=\"tree\">\n <li class=\"file\">\n <a href=\"0\"><span class=\"icon\"></span>0</a>\n </li>\n</ol>\n}
end
test "gitcode relative local file" do
@wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:file-exists.py```\nb", commit_details)
page = @wiki.page('Bilbo Baggins')
index = @wiki.repo.index
index.add("file-exists.py", "import sys\n\nprint sys.maxint\n")
index.commit("Add file-exists.py")
@wiki.clear_cache
output = page.formatted_data
assert_equal %Q{<p>a\n</p><div class="highlight"><pre><span class="kn">import</span> <span class="nn">sys</span>\n\n<span class="k">print</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxint</span>\n</pre></div>\n\n<p>b</p>}, output
end
test "gitcode relative local file in subdir" do
index = @wiki.repo.index
index.add("foo/file-exists.py", "import sys\n\nprint sys.maxint\n")
index.commit("Add file-exists.py")
@wiki.write_page("Pippin", :markdown, "a\n```python:file-exists.py```\nb", commit_details, 'foo')
page = @wiki.paged('Pippin', 'foo')
output = page.formatted_data
assert_equal %Q{<p>a\n</p><div class="highlight"><pre><span class="kn">import</span> <span class="nn">sys</span>\n\n<span class="k">print</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxint</span>\n</pre></div>\n\n<p>b</p>}, output
end
test "gitcode relative no file" do
@wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:no-file-exists.py```\nb", commit_details)
page = @wiki.page('Bilbo Baggins')
output = page.formatted_data
assert_equal %Q{<p>a\nFile not found: no-file-exists.py\nb</p>}, output
end
test "gitcode absolute local file" do
@wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:/monkey/file-exists.py```\nb", commit_details)
page = @wiki.page('Bilbo Baggins')
index = @wiki.repo.index
index.add("monkey/file-exists.py", "import sys\n\nprint sys.platform\n")
index.commit("Add monkey/file-exists.py")
@wiki.clear_cache
output = page.formatted_data
assert_equal %Q{<p>a\n</p><div class="highlight"><pre><span class="kn">import</span> <span class="nn">sys</span>\n\n<span class="k">print</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span>\n</pre></div>\n\n<p>b</p>}, output
end
test "gitcode absolute no file" do
@wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:/monkey/no-file-exists.py```\nb", commit_details)
page = @wiki.page('Bilbo Baggins')
output = page.formatted_data
assert_equal %Q{<p>a\nFile not found: /monkey/no-file-exists.py\nb</p>}, output
end
test "gitcode error generates santized html" do
@wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:<script>foo</script>```\nb", commit_details)
page = @wiki.page('Bilbo Baggins')
output = page.formatted_data
assert_equal %Q{<p>a\nFile not found: &lt;script&gt;foo&lt;/script&gt;\nb</p>}, output
end
teardown do
@cleanup.call
end