docbrown/spec/labor/markdown_fixer_spec.rb
Mac Siri d74483dd5f Fix GitHub Repo feature (#78)
* Create MarkdownFixer spec

* Fix lint

* Fix lint

* Update GithubRepo::find_or_create

* Fix failing specs

* Fix failing specs

* Add error handling for GithubReposController

* Improve GithubRepo::update_to_latest
2018-03-15 11:36:22 -04:00

39 lines
1.3 KiB
Ruby

require "rails_helper"
RSpec.describe MarkdownFixer do
let(:sample_title) { Faker::Book.title }
def create_sample_markdown(title)
<<~HEREDOC
---
title: #{title}
---
HEREDOC
end
describe "::add_quotes_to_title" do
it "escapes simple title" do
test = described_class.fix_all(create_sample_markdown(sample_title))
expect(test).to eq create_sample_markdown(%("#{sample_title}"))
end
it "does not escape titles that came pre-wrapped in single quotes" do
legacy_title = "'#{sample_title}'"
test = described_class.fix_all(create_sample_markdown(legacy_title))
expect(test).to eq create_sample_markdown(legacy_title)
end
it "does not escape titles that came pre-wrapped in double quotes" do
legacy_title = "\"#{sample_title}\""
test = described_class.fix_all(create_sample_markdown(legacy_title))
expect(test).to eq create_sample_markdown(legacy_title)
end
it "handles complex title" do
legacy_title = %(Book review: "#{sample_title}", part 1 I'm #deep)
expected_title = "\"Book review: \\\"#{sample_title}\\\", part 1 I'm #deep\""
test = described_class.fix_all(create_sample_markdown(legacy_title))
expect(test).to eq create_sample_markdown(expected_title)
end
end
end