summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Bradley <rick@rickbradley.com>2007-10-09 15:00:19 -0500
committerRick Bradley <rick@rickbradley.com>2007-10-09 15:00:19 -0500
commit2f86bf077f80bd96f476eaf27a1ac1afbd22958d (patch)
treed5c663eb59b79fbfe151ed93e635d50726976863
parentfdfe807bd986a2b27f0dfd0cecde1a33aeee309b (diff)
parent9db7aae242537b2bd39b8f4ae5723514087e7034 (diff)
downloadpuppet-2f86bf077f80bd96f476eaf27a1ac1afbd22958d.tar.gz
puppet-2f86bf077f80bd96f476eaf27a1ac1afbd22958d.tar.xz
puppet-2f86bf077f80bd96f476eaf27a1ac1afbd22958d.zip
Merge branch 'master' of git://reductivelabs.com/puppet into routing
-rw-r--r--lib/puppet/util/fileparsing.rb4
-rwxr-xr-xtest/util/fileparsing.rb11
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