source: other-projects/hathitrust/vagrant-hadoop-cluster/trunk/modules/stdlib/spec/functions/delete_regex_spec.rb@ 30903

Last change on this file since 30903 was 30903, checked in by davidb, 8 years ago

Vagrant provisioning files for a 4-node Hadoop cluster. See README.txt for more details

  • Property svn:executable set to *
File size: 2.8 KB
Line 
1require 'spec_helper'
2
3describe 'delete_regex' 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([]).and_raise_error(Puppet::ParseError) }
7 it { is_expected.to run.with_params([], 'two') }
8 it { is_expected.to run.with_params({}, 'two') }
9 it { is_expected.to run.with_params([], 'two', 'three').and_raise_error(Puppet::ParseError) }
10 it { is_expected.to run.with_params([], 'two', 'three', 'four').and_raise_error(Puppet::ParseError) }
11 it { is_expected.to run.with_params(1, 'two').and_raise_error(TypeError) }
12
13 describe 'deleting from an array' do
14 it { is_expected.to run.with_params([], '').and_return([]) }
15 it { is_expected.to run.with_params([], 'two').and_return([]) }
16 it { is_expected.to run.with_params(['two'], 'two').and_return([]) }
17 it { is_expected.to run.with_params(['two', 'two'], 'two').and_return([]) }
18 it { is_expected.to run.with_params(['one', 'two', 'three'], '^t.*').and_return(['one']) }
19 it { is_expected.to run.with_params(['ab', 'b', 'c', 'b'], 'b').and_return(['ab', 'c']) }
20 it { is_expected.to run.with_params(['one', 'two', 'three'], 'four').and_return(['one', 'two', 'three']) }
21 it { is_expected.to run.with_params(['one', 'two', 'three'], 'e').and_return(['one', 'two', 'three']) }
22 it { is_expected.to run.with_params(['one', 'two', 'three'], 'two').and_return(['one', 'three']) }
23 it { is_expected.to run.with_params(['two', 'one', 'two', 'three', 'two'], 'two').and_return(['one', 'three']) }
24 it { is_expected.to run.with_params(['abracadabra'], 'abr').and_return(['abracadabra']) }
25 it { is_expected.to run.with_params(['abracadabra'], '^.*jimbob.*$').and_return(['abracadabra']) }
26 end
27
28 describe 'deleting from an array' do
29 it { is_expected.to run.with_params({}, '').and_return({}) }
30 it { is_expected.to run.with_params({}, 'key').and_return({}) }
31 it { is_expected.to run.with_params({'key' => 'value'}, 'key').and_return({}) }
32 it { is_expected.to run \
33 .with_params({'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'}, 'key2') \
34 .and_return( {'key1' => 'value1', 'key3' => 'value3'})
35 }
36 it { is_expected.to run \
37 .with_params({'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'}, ['key1', 'key2']) \
38 .and_return( {'key3' => 'value3'})
39 }
40 end
41
42 it "should leave the original array intact" do
43 argument1 = ['one','two','three']
44 original1 = argument1.dup
45 subject.call([argument1,'two'])
46 expect(argument1).to eq(original1)
47 end
48 it "should leave the original hash intact" do
49 argument1 = {'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'}
50 original1 = argument1.dup
51 subject.call([argument1,'key2'])
52 expect(argument1).to eq(original1)
53 end
54end
Note: See TracBrowser for help on using the repository browser.