diff options
author | Michael V. O'Brien <michael@reductivelabs.com> | 2007-10-09 10:43:17 -0500 |
---|---|---|
committer | Michael V. O'Brien <michael@reductivelabs.com> | 2007-10-09 10:43:17 -0500 |
commit | d4871bf5fbeff53670ea6c82b2ee3f3c3ea01c83 (patch) | |
tree | 94bb75475dd07bee2b7e029eacca10f45d4b3bca | |
parent | 01f132d8b88467dfd314ad355f1cdf9f546945b3 (diff) | |
parent | 5c32c8e8382d800968225734d06663c1a75d80b2 (diff) | |
download | puppet-d4871bf5fbeff53670ea6c82b2ee3f3c3ea01c83.tar.gz puppet-d4871bf5fbeff53670ea6c82b2ee3f3c3ea01c83.tar.xz puppet-d4871bf5fbeff53670ea6c82b2ee3f3c3ea01c83.zip |
Merge branch 'parser-absent' of http://marcin.owsiany.pl/tmp/puppet into porridge
-rw-r--r-- | lib/puppet/util/fileparsing.rb | 4 | ||||
-rwxr-xr-x | test/util/fileparsing.rb | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/puppet/util/fileparsing.rb b/lib/puppet/util/fileparsing.rb index 7552e8141..8e39719c8 100644 --- a/lib/puppet/util/fileparsing.rb +++ b/lib/puppet/util/fileparsing.rb @@ -268,7 +268,9 @@ module Puppet::Util::FileParsing # Define a new type of record. These lines get split into hashes. Valid # options are: - # * <tt>:absent</tt>: What to use when a field is absent. Defaults to "". + # * <tt>:absent</tt>: What to use as value within a line, when a field is + # absent. Note that in the record object, the literal :absent symbol is + # used, and not this value. Defaults to "". # * <tt>:fields</tt>: The list of fields, as an array. By default, all # fields are considered required. # * <tt>:joiner</tt>: How to join fields together. Defaults to '\t'. diff --git a/test/util/fileparsing.rb b/test/util/fileparsing.rb index 127dbe1d1..e1a5d39b5 100755 --- a/test/util/fileparsing.rb +++ b/test/util/fileparsing.rb @@ -456,12 +456,21 @@ billy three four\n" :separator => " " # A single space end - ["a b c d", "a b * d", "a b * *", "a b c *"].each do |line| + { "a b c d" => [], + "a b * d" => [:three], + "a b * *" => [:three, :four], + "a b c *" => [:four] + }.each do |line, absentees| record = nil assert_nothing_raised do record = @parser.parse_line(line) end + # Absent field is :absent, not "*" inside the record + absentees.each do |absentee| + assert_equal(:absent, record[absentee]) + end + # Now regenerate the line newline = nil assert_nothing_raised do |