Sha256: 5278cee100abe6be41f77acdb93b181ca749c13e395555e493b8f8af9e12a88e
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 KB
Contents
require "spec_helper" describe Kitabu::Stats do let(:root_dir) { double("root dir").as_null_object } let(:parser) { double("parser").as_null_object } let(:content) { "" } subject(:stats) { Kitabu::Stats.new(root_dir) } before { allow(stats).to receive_message_chain(:content).and_return(content) } context "getting content" do it "parses content" do expect(Kitabu::Parser::HTML) .to receive(:new) .with(root_dir) .and_return(parser) Kitabu::Stats.new(root_dir).content end it "returns parser content" do allow(Kitabu::Parser::HTML).to receive_message_chain(:new).and_return(parser) allow(parser).to receive_message_chain(:content).and_return("some content") expect(Kitabu::Stats.new(root_dir).content).to eql("some content") end end context "words counting" do let(:content) { "a b c" } it { expect(stats.words).to eql(3) } end context "chapters counting" do let(:content) { "<div class='chapter'/>" * 5 } it { expect(stats.chapters).to eql(5) } end context "images counting" do let(:content) { "<img/>" * 2 } it { expect(stats.images).to eql(2) } end context "footnotes counting" do let(:content) { "<p class='footnote'/>" * 10 } it { expect(stats.footnotes).to eql(10) } end context "external links counting" do let(:content) { <<-HTML <a href="http://example.org">example.org</a> <a href="http://subdomain.example.org">subdomain.example.org</a> <a href="#some-anchor">anchor</a> HTML } it { expect(stats.links).to eql(2) } end context "code blocks" do let(:content) { "<pre/>" * 3 } it { expect(stats.code_blocks).to eql(3) } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kitabu-2.0.0 | spec/kitabu/stats_spec.rb |
kitabu-1.0.6 | spec/kitabu/stats_spec.rb |