spec/utopia/content/node_spec.rb in utopia-2.9.5 vs spec/utopia/content/node_spec.rb in utopia-2.10.0

- old
+ new

@@ -18,50 +18,78 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. require 'utopia/content' -module Utopia::ContentSpec - describe Utopia::Content::Node do - let(:root) {File.expand_path("node", __dir__)} - let(:content) {Utopia::Content.new(lambda{}, root: root)} +RSpec.describe Utopia::Content::Node do + let(:root) {File.expand_path("node", __dir__)} + let(:content) {Utopia::Content.new(lambda{}, root: root)} + + it "should list siblings in correct order" do + node = content.lookup_node(Utopia::Path['/ordered/first']) - it "should list siblings in correct order" do - node = content.lookup_node(Utopia::Path['/ordered/first']) - - links = node.sibling_links - - expect(links.size).to be == 2 - expect(links[0].name).to be == 'first' - expect(links[1].name).to be == 'second' - end + links = node.sibling_links - it "should list all links in correct order" do + expect(links.size).to be == 2 + expect(links[0].name).to be == 'first' + expect(links[1].name).to be == 'second' + end + + it "should list all links in correct order" do + node = content.lookup_node(Utopia::Path['/ordered/index']) + + links = node.links + + expect(links.size).to be == 2 + expect(links[0].name).to be == 'first' + expect(links[1].name).to be == 'second' + end + + it "should list related links" do + node = content.lookup_node(Utopia::Path['/related/foo.en']) + + links = node.related_links + + expect(links.size).to be == 2 + expect(links[0].name).to be == 'foo' + expect(links[0].locale).to be == 'en' + + expect(links[1].name).to be == 'foo' + expect(links[1].locale).to be == 'ja' + end + + it "should look up node by path" do + node = content.lookup_node(Utopia::Path['/lookup/index']) + + expect(node.process!(nil)).to be == [200, {"Content-Type"=>"text/html; charset=utf-8"}, ["<p>Hello World</p>"]] + end + + describe '#local_path' do + let(:base) {Pathname.new(root)} + + it "can compute relative path from index node" do node = content.lookup_node(Utopia::Path['/ordered/index']) - links = node.links - - expect(links.size).to be == 2 - expect(links[0].name).to be == 'first' - expect(links[1].name).to be == 'second' + expect(node.local_path("preview.jpg")).to eq(base + 'ordered/preview.jpg') end - it "should list related links" do - node = content.lookup_node(Utopia::Path['/related/foo.en']) + it "can compute relative path from named node" do + node = content.lookup_node(Utopia::Path['/ordered/first']) - links = node.related_links + expect(node.local_path("preview.jpg")).to eq(base + 'ordered/preview.jpg') + end + end + + describe '#relative_path' do + it "can compute relative path from index node" do + node = content.lookup_node(Utopia::Path['/ordered/index']) - expect(links.size).to be == 2 - expect(links[0].name).to be == 'foo' - expect(links[0].locale).to be == 'en' - - expect(links[1].name).to be == 'foo' - expect(links[1].locale).to be == 'ja' + expect(node.relative_path("preview.jpg")).to eq(Utopia::Path['/ordered/preview.jpg']) end - it "should look up node by path" do - node = content.lookup_node(Utopia::Path['/lookup/index']) + it "can compute relative path from named node" do + node = content.lookup_node(Utopia::Path['/ordered/first']) - expect(node.process!(nil)).to be == [200, {"Content-Type"=>"text/html; charset=utf-8"}, ["<p>Hello World</p>"]] + expect(node.relative_path("preview.jpg")).to eq(Utopia::Path['/ordered/preview.jpg']) end end -end \ No newline at end of file +end