Skip to content

Commit

Permalink
Add tests to improve branch coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
piotrmurach committed Jul 22, 2023
1 parent 5470c0f commit ef8bfab
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
12 changes: 10 additions & 2 deletions spec/unit/margin_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,17 @@

it "raises when given a hash with an invalid side name" do
expect {
described_class.from_hash({center: 1})
described_class.from_hash({invalid: 1})
}.to raise_error(Slideck::InvalidArgumentError,
"unknown name for margin: :center.\n" \
"unknown name for margin: :invalid.\n" \
"Valid names are: top, left, right and bottom.")
end

it "raises when given a hash with invalid side names" do
expect {
described_class.from_hash({invalid: 1, unknown: 2})
}.to raise_error(Slideck::InvalidArgumentError,
"unknown names for margin: :invalid, :unknown.\n" \
"Valid names are: top, left, right and bottom.")
end

Expand Down
10 changes: 3 additions & 7 deletions spec/unit/metadata_parser_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,7 @@
end

it "parses permitting symbols as an argument" do
yaml_parser = double(:yaml)
allow(yaml_parser).to receive(:respond_to?).and_return(:safe_load)
allow(yaml_parser).to receive(:safe_load).and_return({})
yaml_parser = double(:yaml, safe_load: {})
parser = described_class.new(yaml_parser, permitted_classes: [Symbol],
symbolize_names: false)
allow(parser).to receive(:parse_method_params)
Expand All @@ -73,17 +71,15 @@
end

it "parses permitting symbols as an option" do
yaml_parser = double(:yaml)
allow(yaml_parser).to receive(:respond_to?).and_return(:safe_load)
allow(yaml_parser).to receive(:safe_load).and_return({})
yaml_parser = double(:yaml, load: {})
parser = described_class.new(yaml_parser, permitted_classes: [Symbol],
symbolize_names: false)
allow(parser).to receive(:parse_method_params)
.and_return(%i[permitted_classes])

parser.parse(":align: center")

expect(yaml_parser).to have_received(:safe_load)
expect(yaml_parser).to have_received(:load)
.with(":align: center", {permitted_classes: [Symbol]})
end
end
15 changes: 11 additions & 4 deletions spec/unit/metadata_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -245,16 +245,23 @@
expect(metadata.theme).to eq({link: :magenta})
end

it "raises when invalid metadata key" do
config = {invalid: ""}

it "raises when given an invalid metadata key" do
expect {
described_class.from(converter, config, defaults)
described_class.from(converter, {invalid: ""}, defaults)
}.to raise_error(Slideck::InvalidMetadataKeyError,
"unknown 'invalid' configuration key\n" \
"Available keys are: :align, :footer, :margin, " \
":pager, :symbols, :theme")
end

it "raises when given invalid metadata keys" do
expect {
described_class.from(converter, {invalid: "", unknown: ""}, defaults)
}.to raise_error(Slideck::InvalidMetadataKeyError,
"unknown 'invalid, unknown' configuration keys\n" \
"Available keys are: :align, :footer, :margin, " \
":pager, :symbols, :theme")
end
end

describe "#==" do
Expand Down

0 comments on commit ef8bfab

Please sign in to comment.