spec/nanoc/base/entities/processing_actions/snapshot_spec.rb in nanoc-4.6.1 vs spec/nanoc/base/entities/processing_actions/snapshot_spec.rb in nanoc-4.6.2

- old
+ new

@@ -1,32 +1,38 @@ describe Nanoc::Int::ProcessingActions::Snapshot do - let(:action) { described_class.new(:before_layout, '/foo.md') } + let(:action) { described_class.new([:before_layout], ['/foo.md']) } describe '#serialize' do subject { action.serialize } - it { is_expected.to eql([:snapshot, :before_layout, true, '/foo.md']) } + it { is_expected.to eql([:snapshot, [:before_layout], true, ['/foo.md']]) } end describe '#to_s' do subject { action.to_s } - it { is_expected.to eql('snapshot :before_layout, path: "/foo.md"') } + it { is_expected.to eql('snapshot [:before_layout], paths: ["/foo.md"]') } end describe '#inspect' do subject { action.inspect } - it { is_expected.to eql('<Nanoc::Int::ProcessingActions::Snapshot :before_layout, true, "/foo.md">') } + it { is_expected.to eql('<Nanoc::Int::ProcessingActions::Snapshot [:before_layout], true, ["/foo.md"]>') } end - describe '#copy' do - context 'without path' do - subject { action.copy } - its(:snapshot_name) { is_expected.to eql(:before_layout) } - its(:path) { is_expected.to eql('/foo.md') } + describe '#update' do + context 'with nothing' do + subject { action.update } + its(:snapshot_names) { is_expected.to eql([:before_layout]) } + its(:paths) { is_expected.to eql(['/foo.md']) } end - context 'with path' do - subject { action.copy(path: '/donkey.md') } - its(:snapshot_name) { is_expected.to eql(:before_layout) } - its(:path) { is_expected.to eql('/donkey.md') } + context 'with snapshot name' do + subject { action.update(snapshot_names: [:zebra]) } + its(:snapshot_names) { is_expected.to eql([:before_layout, :zebra]) } + its(:paths) { is_expected.to eql(['/foo.md']) } + end + + context 'with paths' do + subject { action.update(paths: ['/donkey.md', '/giraffe.md']) } + its(:snapshot_names) { is_expected.to eql([:before_layout]) } + its(:paths) { is_expected.to eql(['/foo.md', '/donkey.md', '/giraffe.md']) } end end end