|
106 | 106 | end |
107 | 107 |
|
108 | 108 | context "prefix" do |
109 | | - it "uses site.url as the redirect prefix when site.github.url is not set" do |
110 | | - @site.config['url'] = "http://notgithub.io" |
111 | | - @site.config['baseurl'] = nil |
112 | | - expect(redirector.redirect_url(@site, page_with_one)).to eql("http://notgithub.io/one_redirect_url.html") |
| 109 | + it "uses site.url as the redirect prefix" do |
| 110 | + expect(redirector.redirect_url(@site, page_with_one)).to eql("http://jekyllrb.com/one_redirect_url.html") |
113 | 111 | end |
114 | 112 |
|
115 | | - it "uses site.baseurl as the redirect prefix when site.github.url is not set" do |
| 113 | + it "uses site.github.url as the redirect prefix when site.url is not set" do |
| 114 | + @site.config['url'] = nil |
| 115 | + @site.config['github'] = { "url" => "http://example.github.io/test" } |
| 116 | + expect(redirector.redirect_url(@site, page_with_one)).to eql("http://example.github.io/test/one_redirect_url.html") |
| 117 | + end |
| 118 | + |
| 119 | + it "uses site.baseurl as the redirect prefix when both site.url and site.github.url is not set" do |
116 | 120 | @site.config['url'] = nil |
117 | 121 | @site.config['baseurl'] = "/fancy/prefix" |
118 | 122 | expect(redirector.redirect_url(@site, page_with_one)).to eql("/fancy/prefix/one_redirect_url.html") |
|
124 | 128 | expect(redirector.redirect_url(@site, page_with_one)).to eql("http://notgithub.io/fancy/prefix/one_redirect_url.html") |
125 | 129 | end |
126 | 130 |
|
127 | | - it "prefers site.github.url over site.url or site.baseurl" do |
| 131 | + it "prefers site.url + site.baseurl over site.github.url" do |
128 | 132 | @site.config['url'] = "http://notgithub.io" |
129 | 133 | @site.config['baseurl'] = "/fancy/prefix" |
130 | 134 | @site.config['github'] = { "url" => "http://example.github.io/test" } |
| 135 | + expect(redirector.redirect_url(@site, page_with_one)).to eql("http://notgithub.io/fancy/prefix/one_redirect_url.html") |
| 136 | + end |
| 137 | + |
| 138 | + it "prefers site.github.url over site.baseurl when site.url is not set" do |
| 139 | + @site.config['url'] = nil |
| 140 | + @site.config['github'] = { "url" => "http://example.github.io/test" } |
| 141 | + @site.config['baseurl'] = "/fancy/baseurl" |
131 | 142 | expect(redirector.redirect_url(@site, page_with_one)).to eql("http://example.github.io/test/one_redirect_url.html") |
132 | 143 | end |
133 | 144 |
|
134 | 145 | it "converts non-string values in site.github.url to strings" do |
| 146 | + @site.config['url'] = nil |
135 | 147 | @site.config['github'] = { "url" => TestStringContainer.new("http://example.github.io/test") } |
136 | 148 | expect(redirector.redirect_url(@site, page_with_one)).to eql("http://example.github.io/test/one_redirect_url.html") |
137 | 149 | end |
|
145 | 157 | @site.config['url'] = nil |
146 | 158 | expect(redirector.redirect_url(@site, page_with_one)).to eql("/one_redirect_url.html") |
147 | 159 | end |
| 160 | + |
| 161 | + it "should handle site.baseurl being nil" do |
| 162 | + @site.config['baseurl'] = nil |
| 163 | + expect(redirector.redirect_url(@site, page_with_one)).to eql("http://jekyllrb.com/one_redirect_url.html") |
| 164 | + end |
| 165 | + |
| 166 | + it "no-ops when site.url is empty" do |
| 167 | + @site.config['url'] = "" |
| 168 | + expect(redirector.redirect_url(@site, page_with_one)).to eql("/one_redirect_url.html") |
| 169 | + end |
148 | 170 | end |
149 | 171 | end |
0 commit comments