3 describe 'delete_at' do
4 it { is_expected.not_to eq(nil) }
5 it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError) }
6 it { is_expected.to run.with_params('one', 1).and_raise_error(Puppet::ParseError) }
7 it { is_expected.to run.with_params(1, 1).and_raise_error(Puppet::ParseError) }
8 it { is_expected.to run.with_params(['one'], 'two').and_raise_error(Puppet::ParseError) }
10 pending("Current implementation ignores parameters after the first two.")
11 is_expected.to run.with_params(['one'], 0, 1).and_raise_error(Puppet::ParseError)
14 describe 'argument validation' do
15 it { is_expected.to run.with_params([0, 1, 2], 3).and_raise_error(Puppet::ParseError) }
18 it { is_expected.to run.with_params([0, 1, 2], 1).and_return([0, 2]) }
19 it { is_expected.to run.with_params([0, 1, 2], -1).and_return([0, 1]) }
20 it { is_expected.to run.with_params([0, 1, 2], -4).and_return([0, 1, 2]) }
21 it { is_expected.to run.with_params(["ƒờở", "βāř", "ьầż"], 1).and_return(["ƒờở", "ьầż"]) }
24 it "should leave the original array intact" do
26 original = argument.dup
27 result = subject.call([argument,2])
28 expect(argument).to eq(original)