Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8393980
delete_values_spec.rb
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
delete_values_spec.rb
View Options
#! /usr/bin/env ruby -S rspec
require
'spec_helper'
describe
"the delete_values function"
do
let
(
:scope
)
{
PuppetlabsSpec
::
PuppetInternals
.
scope
}
it
"should exist"
do
expect
(
Puppet
::
Parser
::
Functions
.
function
(
"delete_values"
))
.
to
eq
(
"function_delete_values"
)
end
it
"should raise a ParseError if there are fewer than 2 arguments"
do
expect
{
scope
.
function_delete_values
(
[]
)
}
.
to
(
raise_error
(
Puppet
::
ParseError
))
end
it
"should raise a ParseError if there are greater than 2 arguments"
do
expect
{
scope
.
function_delete_values
(
[[]
,
'foo'
,
'bar'
]
)
}
.
to
(
raise_error
(
Puppet
::
ParseError
))
end
it
"should raise a TypeError if the argument is not a hash"
do
expect
{
scope
.
function_delete_values
(
[
1
,
'bar'
]
)
}
.
to
(
raise_error
(
TypeError
))
expect
{
scope
.
function_delete_values
(
[
'foo'
,
'bar'
]
)
}
.
to
(
raise_error
(
TypeError
))
expect
{
scope
.
function_delete_values
(
[[]
,
'bar'
]
)
}
.
to
(
raise_error
(
TypeError
))
end
it
"should delete all instances of a value from a hash"
do
result
=
scope
.
function_delete_values
(
[
{
'a'
=>
'A'
,
'b'
=>
'B'
,
'B'
=>
'C'
,
'd'
=>
'B'
},
'B'
]
)
expect
(
result
)
.
to
(
eq
({
'a'
=>
'A'
,
'B'
=>
'C'
}))
end
it
"should not change origin hash passed as argument"
do
origin_hash
=
{
'a'
=>
1
,
'b'
=>
2
,
'c'
=>
3
}
result
=
scope
.
function_delete_values
(
[
origin_hash
,
2
]
)
expect
(
origin_hash
)
.
to
(
eq
({
'a'
=>
1
,
'b'
=>
2
,
'c'
=>
3
}))
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 4, 7:19 PM (6 d, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3399077
Attached To
rSPSTD puppet-puppetlabs-stdlib
Event Timeline
Log In to Comment