Skip to content

Commit cb7c164

Browse files
committed
Add test for path of paginated page
1 parent 197b054 commit cb7c164

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

spec/edit_link_tag_spec.rb

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
let(:source) { { "branch" => branch, "path" => path } }
66
let(:github) { { "repository_url" => repository_url, "source" => source } }
77
let(:config) { { "github" => github, "plugins" => ["jekyll-github-metadata"] } }
8-
let(:page) { make_page }
8+
let(:pager) { nil }
9+
let(:page) { make_page({}, pager) }
910
let(:site) { make_site(config) }
1011
let(:render_context) { make_context(:page => page, :site => site) }
1112
let(:tag_name) { "github_edit_link" }
@@ -114,6 +115,21 @@
114115
end
115116
end
116117

118+
context "paginated path" do
119+
let(:pager) { make_pager(2) }
120+
before do
121+
page.dir = "page/2"
122+
subject.send(:site).pages << page
123+
first_page = make_page({}, make_pager(1))
124+
subject.send(:site).pages << first_page
125+
end
126+
127+
it "outputs the proper link for subsequent pages" do
128+
expect(page.path).to eql("page/2/page.md")
129+
expect(subject.send(:page_path)).to eql("page.md")
130+
end
131+
end
132+
117133
context "parts" do
118134
it "builds the parts" do
119135
expected = [github["repository_url"], "edit/", branch.to_s, "/", "page.md"]

spec/spec_helpers/fixture_helper.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,15 @@ def config_defaults
2222
}
2323
end
2424

25-
def make_page(data = {})
26-
Jekyll::Page.new(site, config_defaults["source"], "", "page.md").tap { |page| page.data = data }
25+
def make_page(data = {}, pager = nil)
26+
data["paginated"] = true unless pager == nil
27+
page = Jekyll::Page.new(site, config_defaults["source"], "", "page.md").tap { |page| page.data = data }
28+
page.pager = pager
29+
page
30+
end
31+
32+
def make_pager(page)
33+
Pager.new(page)
2734
end
2835

2936
def make_site(options = {})
@@ -35,4 +42,12 @@ def make_context(registers = {}, environments = {})
3542
context = { :site => make_site, :page => make_page }.merge(registers)
3643
Liquid::Context.new(environments, {}, context)
3744
end
45+
46+
class Pager
47+
attr_accessor :page
48+
49+
def initialize(page)
50+
@page = page
51+
end
52+
end
3853
end

0 commit comments

Comments
 (0)