# ~*~ encoding: utf-8 ~*~ require File.expand_path( '../helper', __FILE__ ) require File.expand_path( '../wiki_factory', __FILE__ ) context "gitcode" do def page_with_content c index = @wiki.repo.index index.add 'Sample-Html.md', c index.commit 'adding file html sample' page = @wiki.page 'Sample Html' page end setup do # context @wiki, @path, @cleanup = WikiFactory.create 'examples/test.git' # given p = page_with_content "a\n\n```html:gollum/gollum/master/test/file_view/1_file.txt```\n\nb" # when rendering the page @rendered = Gollum::Markup.new(p).render end test 'that the rendered output is correctly fetched and rendered as html code' do assert_equal %Q{

a

\n\n
<ol class=\"tree\">\n  <li class=\"file\">\n    <a href=\"0\"><span class=\"icon\"></span>0</a>\n  </li>\n</ol>\n
\n\n

b

}, @rendered end test 'contents' do g = Gollum::Gitcode.new 'gollum/gollum/master/test/file_view/1_file.txt' assert_equal g.contents, %{
    \n
  1. \n 0\n
  2. \n
\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{

a\n

import sys\n\nprint sys.maxint\n
\n\n

b

}, 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{

a\n

import sys\n\nprint sys.maxint\n
\n\n

b

}, 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{

a\nFile not found: no-file-exists.py\nb

}, 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{

a\n

import sys\n\nprint sys.platform\n
\n\n

b

}, 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{

a\nFile not found: /monkey/no-file-exists.py\nb

}, output end test "gitcode error generates santized html" do @wiki.write_page("Bilbo Baggins", :markdown, "a\n```python:```\nb", commit_details) page = @wiki.page('Bilbo Baggins') output = page.formatted_data assert_equal %Q{

a\nFile not found: <script>foo</script>\nb

}, output end teardown do @cleanup.call end end