summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/parser
AgeCommit message (Collapse)Author
2014-06-04Convert specs to RSpec 2.99.0 syntax with TranspecAshley Penney
This conversion is done by Transpec 2.2.1 with the following command: transpec spec/unit * 53 conversions from: obj.should to: expect(obj).to * 19 conversions from: == expected to: eq(expected) * 5 conversions from: lambda { }.should to: expect { }.to * 2 conversions from: be_true to: be_truthy For more details: https://github.com/yujinakayama/transpec#supported-conversions
2014-05-15Merge pull request #258 from mckern/enhancement/master/camelcasedemboolsAshley Penney
(MODULES-905) Narrow the confinement in bool2str
2014-05-15(MODULES-905) Extend spec tests for bool2strRyan McKern
The extended spec tests validate that the common types of values that could be passed to bool2str() are rejected.
2014-05-15Merge pull request #255 from mckern/enhancement/master/camelcasedemboolsAshley Penney
(MODULES-905) Add bool2str() and camelcase() for string manipulation
2014-05-13(maint) Add bool2str & camelcase spec testsRyan McKern
2014-05-08Move unit tests to spec/functionsHunter Haugen
rspec-puppet matchers are defined for tests which exist in spec/functions, but the function unit tests lived in spec/unit/puppet/parser/functions. This moves them to the correct place for using rspec-puppet
2014-05-07Add mode +x to spec .rb filesHunter Haugen
2014-05-07Move the 4 misplaced testsHunter Haugen
2014-05-07Add the missing shebangs and fix the wrong ones for rpmlint to stop ↵Andrea Veri
complaining loudly
2014-04-24Merge pull request #222 from mfoo/fix/master/concat-primitivesAshley Penney
Allow concat to take non-array second parameters
2014-03-11Merge pull request #220 from mediatemple/fix/master/deep_merge_fixAshley Penney
PUP-1724 Don't modify the paramaters to deep_merge
2014-03-08Numerous changes to update testing gems.Ashley Penney
This work updates a number of Gems to the latest versions (rspec, rspec-puppet), and updates and tweaks a bunch of tests to work with the updated gems.
2014-02-21Allow concat to take non-array second parametersMartin Foot
Also improve and extend concat tests to lock down functionality
2014-02-17PUP-1724 Don't modify the paramaters to deep_mergeJustin Burnham
Instead of modifying the first paramater of deep_merge due to the use of the merge! function, instead use merge to return a copy of the merged object. This allows one to continue to use the original first parameter after the call to deep_merge.
2014-02-05Remove trailing whitespaceSharif Nassar
2014-01-29(PUP-638) Add a pick_default() function that always returns a value.David Schmitt
This version of pick() does not error out, instead always returning at least the last argument, even if that too has no "real" value.
2014-01-23(PUP-1195) Fix is_numeric/is_integer when checking non-string parametersSimon Effenberg
I expect a function called "is_numeric" or "is_integer" to check if a variable is an integer or a number even if the variable passed by isn't a string nor a number at all. Otherwise we should call them is_string_a_number and is_string_an_integer and we have then to remove the check for .is_a?(Number) and .is_a?(FixNum) now checking also if it is a hex or octal number improved/corrected checking for integer * checking against Integer instead of Fixnum so that also Bignum is matching * now .is_a? Integer is done first so this is quiet fast Now many types of numerics are recognized. 1. Float/Integer values (signed or unsigned, with exponent or without) 2. octal and hex check 3. except hex numbers and the "0." in a float lower than 1 can be prefixed with a '0'. whitespaces shouldn't be allowed as prefix/suffix string representation of numbers should not contain any type of whitespace.. the user is responsible to clean a string before checking it.. fix documentation and added more checks tried to be 99.9% backward compatible * for now the decission is post poned if hex and octal numbers should be allowed or not (is_numeric) * native Bignum is now also a valid integer class fix problem with old 1.8 ruby and Hash.to_s/Array.to_s In ruby < 1.9 array and hashes would be recognized as numeric if they have a special format: 1.8: [1,2,3,4].to_s = "1234" {1=>2}.to_s = "12" 1.9: [1,2,3,4].to_s = "[1, 2, 3, 4]" {1=>2}.to_s = "{1=>2}"
2013-12-20(maint) Improve test coverage for prefix and suffixAdrien Thebo
2013-12-18Merge pull request #211 from jhoblitt/function_is_boolAndrew Parker
(#23381) add is_bool() function
2013-12-18Merge pull request #203 from dreamlibrarian/fix/is_function_available-ruby_cAndrew Parker
calling rspec directly makes is_function_available.rb not pass ruby -c
2013-12-09(#23381) add is_bool() functionJoshua Hoblitt
2013-11-20calling rspec directly makes this not pass ruby -c. adjusting to be in line ↵Tristan Smith
with the rest.
2013-11-19Fix the tests on osxTomas Doran
2013-10-29(#20200) Add a recursive merge function.Justin Burnham
Issue #20200 notes that the merge function does not support nested hashes. To prevent unintended side effects with changing merge, add a deep_merge function instead.
2013-10-29(Main) fix typo in pick error messageMatthew Haughton
Update pick error message "at least one non empty value"
2013-09-18Merge branch 'pull-180'Adrien Thebo
This closes GH-180
2013-09-18(maint) Simplify validate_cmd specsAdrien Thebo
2013-09-18(#22214): close content file before executing checkscriptsgzijl
Right now validation seems to be done against zero byte generated temp files. We need to close the file before executing validation against it.
2013-09-18Merge pull request #184 from lmello/fix_bug_20681_delete_undef_valuesAdrien Thebo
delete_undef_values function fix bug #20681
2013-09-18(#20681) fix behaviour of delete_undef_valuesLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected other delete functions. Because ruby delete and delete_if functions make destructive changes to the origin array/hash. The delete_undef_values removed elements from the origin array/hash and this is not the desired behaviour. To solve this, we should dup or clone the array/hash before using the delete or delete_if ruby functions. We should also check if args[0] is not nil before using dup, since dup on nil raises exception. This fix the problem and add unit tests, so we could enforce this behaviour and prevent regressions.
2013-09-17Merge pull request #183 from lmello/fix_bug_20681_delete_atAdrien Thebo
delete_at added spec to check against bug #20681
2013-09-17Merge pull request #182 from lmello/fix_bug_20681_delete_valuesAdrien Thebo
delete_values() fix bug #20681.
2013-09-17Merge pull request #185 from lmello/refactor_16498Adrien Thebo
(#16498) Added unit test for loadyaml function.
2013-09-17(#16498) Added unit test for loadyaml function.Leonardo Rodrigues de Mello
As stated on the issue #16498, it would be great to have unit tests for all the functions. Function loadyaml was missing a unit test. This commit added the unit test to loadyaml function.
2013-09-17Merge pull request #178 from lmello/fix_bug_20681Adrien Thebo
bug # 20681 delete() function should not remove elements from original list
2013-09-17(#20681) delete_at function unit test against issueLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected the other delete functions. The delete_at function is not afected by this bug, but it did not had the unit test to check against it. I had added the unit test so we could prevent regressions on the future and also have better test coverage.
2013-09-17(#20681) fix behaviour of delete_valuesLeonardo Rodrigues de Mello
The issue #20681 describe the error of delete() function removing the elements from the origin array/hash/string. This issue affected other delete functions. Because ruby delete and delete_if functions make destructive changes to the origin array/hash. The delete_undef_values removed elements from the origin hash and this is not the desired behaviour. To solve this, we should dup or clone the hash before using the delete or delete_if ruby functions. This fix the problem and add unit tests, so we could enforce this behaviour and prevent regressions.
2013-09-16bug # 20681 delete() function should not remove elements from original listLeonardo Rodrigues de Mello
The setup: list with 3 elements, delete one: $test_list = [‘a’, ‘b’, ‘c’] $test_deleted = delete($test_list, ‘a’) Print out the elements in ‘test_deleted’: notify { ‘group_output2’: withpath => true, name => “$cfeng::test_deleted”, } Notice: /Stage[main]/Syslog/Notify[group_output2]/message: bc Good! Run-on output shows that ‘a’ was deleted Print out the elements in ‘test_list’: notify { ‘group_output1’: withpath => true, name => “$cfeng::test_list”, } Notice: /Stage[main]/Syslog/Notify[group_output1]/message: bc WHAT!? 'a' was deleted from ‘test_list’ as well! Expected abc as output! This behaviour is confirmed for string, hash and array. This is fixed on this commit, I had added two spec tests to cover that cases. bug #20681 spec test for delete() function. I had forgot in the last commit the spec test for hash in the delete function. bug # 20681 delete() function change aproach. Instead of rejecting elements from the original list, we use collection = arguments[0].dup . then latter we could continue to use delete and gsub! on collection without impact on original argument. this is a better solution than the previous one, and works on ruby 1.8.7, 1.9.3 and 2.0.0. The previous solution does not work on ruby 1.8.7. delete function remove typo whitespace. fix typo whitespaces.
2013-09-16enhanced the error message of pick function.Leonardo Rodrigues de Mello
When pick function fail return a better error message like the other stdlib functions, indicating that the error is on function pick. This would help people that see the error to identity it is related to a incorrect use of stdlib function pick, instead of having to grep all puppet libraries and manifests source for the old message. I had also changed the spec test. pick function change spec as suggested GH-179 Fix the spec test to use expect {}.to instead of lambda {}.should as explained by Adrienthebo. "Using expect { }.to is preferred over lambda { }.should. In addition it's best practice to do a string match against the error message to ensure that we're catching the right error, instead of any error of the right type." Also fixed a typo on the error message, it was missing one space. pick function stylish fix as suggested on GH179
2013-08-28Merge pull request #172 from ptomulik/fix/delete_xxx_specAdrien Thebo
small fix to delete_values_spec.rb and README.markdown
2013-08-14small fix to delete_values_spec.rb and README.markdownPaweł Tomulik
2013-08-12(maint) refactor validate_slength testsAdrien Thebo
2013-08-06Merge pull request #167 from mhellmic/minlengthAdrien Thebo
extend the validate_slength function to accept a minimum length
2013-08-06changed the validate_slength function to accept a min lengthMartin Hellmich
An optional third parameter can be given a min length. The function then only passes successfully, if all strings are in the range min_length <= string <= max_length update and fix function and unit tests the check for the minlength has to be written differently because 0 values should be possible. We now check a) if the input is convertible, and throw a ParseError and b) if the input .is_a?(Numeric) and ask for a positive number it's not as clean as for maxlength, but keeps a similar behaviour refined the error checking for the min length try to convert to Integer(args[2]) and fail, if it's not possible changed the tests accordingly to the new parameter checking
2013-08-05added delete_values() and delete_undef_values() functionsPaweł Tomulik
2013-07-22Adjust to use default URI.escape escape listTomas Doran
Conform to RFC per comments on: https://github.com/puppetlabs/puppetlabs-stdlib/pull/164 Conflicts: lib/puppet/parser/functions/uriescape.rb spec/unit/puppet/parser/functions/uriescape_spec.rb
2013-06-07Merge pull request #158 from wfarr/validate_ipAdrien Thebo
[#20862] Add functions to validate ipv4 and ipv6 addresses
2013-05-28(maint) Remove syntax decoration from range_specAdrien Thebo
2013-05-28(maint) Clean up range_spec error expectationAdrien Thebo
Replace `lambda` with `expect` for making an error expectation Add an explicit error message in expectation
2013-05-28(maint) Use present tense in range_spec messagesAdrien Thebo