From: Daniel Pittman <[email protected]>

This is replaced with the new my_fixture{,s} methods; old fixture data is
ported into the spec tests at the same time, but left where it was against
unit tests that require it.

Reviewed-By: Nick Lewis <[email protected]>
---
 .../integration/provider/mailalias/aliases/test1   |   28 +++++++++
 spec/fixtures/unit/parser/lexer/aliastest.pp       |   16 +++++
 spec/fixtures/unit/parser/lexer/append.pp          |   11 +++
 .../fixtures/unit/parser/lexer/argumentdefaults.pp |   14 ++++
 .../unit/parser/lexer/arithmetic_expression.pp     |    8 +++
 .../unit/parser/lexer/arraytrailingcomma.pp        |    3 +
 spec/fixtures/unit/parser/lexer/casestatement.pp   |   65 ++++++++++++++++++++
 spec/fixtures/unit/parser/lexer/classheirarchy.pp  |   15 +++++
 spec/fixtures/unit/parser/lexer/classincludes.pp   |   17 +++++
 spec/fixtures/unit/parser/lexer/classpathtest.pp   |   11 +++
 spec/fixtures/unit/parser/lexer/collection.pp      |   10 +++
 .../unit/parser/lexer/collection_override.pp       |    8 +++
 .../lexer/collection_within_virtual_definitions.pp |   20 ++++++
 .../unit/parser/lexer/componentmetaparams.pp       |   11 +++
 .../fixtures/unit/parser/lexer/componentrequire.pp |    8 +++
 .../unit/parser/lexer/deepclassheirarchy.pp        |   23 +++++++
 spec/fixtures/unit/parser/lexer/defineoverrides.pp |   17 +++++
 spec/fixtures/unit/parser/lexer/emptyclass.pp      |    9 +++
 spec/fixtures/unit/parser/lexer/emptyexec.pp       |    3 +
 spec/fixtures/unit/parser/lexer/emptyifelse.pp     |    9 +++
 spec/fixtures/unit/parser/lexer/falsevalues.pp     |    3 +
 spec/fixtures/unit/parser/lexer/filecreate.pp      |   11 +++
 spec/fixtures/unit/parser/lexer/fqdefinition.pp    |    5 ++
 spec/fixtures/unit/parser/lexer/fqparents.pp       |   11 +++
 spec/fixtures/unit/parser/lexer/funccomma.pp       |    5 ++
 spec/fixtures/unit/parser/lexer/hash.pp            |   33 ++++++++++
 spec/fixtures/unit/parser/lexer/ifexpression.pp    |   12 ++++
 .../unit/parser/lexer/implicititeration.pp         |   15 +++++
 .../unit/parser/lexer/multilinecomments.pp         |   10 +++
 spec/fixtures/unit/parser/lexer/multipleclass.pp   |    9 +++
 .../unit/parser/lexer/multipleinstances.pp         |    7 ++
 spec/fixtures/unit/parser/lexer/multisubs.pp       |   13 ++++
 spec/fixtures/unit/parser/lexer/namevartest.pp     |    9 +++
 spec/fixtures/unit/parser/lexer/scopetest.pp       |   13 ++++
 spec/fixtures/unit/parser/lexer/selectorvalues.pp  |   49 +++++++++++++++
 spec/fixtures/unit/parser/lexer/simpledefaults.pp  |    5 ++
 spec/fixtures/unit/parser/lexer/simpleselector.pp  |   38 +++++++++++
 spec/fixtures/unit/parser/lexer/singleary.pp       |   19 ++++++
 spec/fixtures/unit/parser/lexer/singlequote.pp     |   11 +++
 spec/fixtures/unit/parser/lexer/singleselector.pp  |   22 +++++++
 .../unit/parser/lexer/subclass_name_duplication.pp |   11 +++
 spec/fixtures/unit/parser/lexer/tag.pp             |    9 +++
 spec/fixtures/unit/parser/lexer/tagged.pp          |   35 +++++++++++
 .../fixtures/unit/parser/lexer/virtualresources.pp |   14 ++++
 .../fixtures/unit/provider/host/parsed/valid_hosts |   19 ++++++
 .../unit/provider/mount/parsed/freebsd.fstab       |    7 ++
 .../unit/provider/mount/parsed/linux.fstab         |   11 +++
 .../unit/provider/mount/parsed/solaris.fstab       |   11 +++
 .../ssh_authorized_key/parsed/authorized_keys      |    7 ++
 .../ssh_authorized_key/parsed/authorized_keys1     |    3 +
 .../ssh_authorized_key/parsed/authorized_keys2     |    1 +
 .../unit/reports/tagmail/tagmail_failers.conf      |    3 +
 .../unit/reports/tagmail/tagmail_passers.conf      |   30 +++++++++
 .../integration/provider/mailalias/aliases_spec.rb |    6 +-
 spec/unit/parser/lexer_spec.rb                     |    5 +-
 spec/unit/provider/host/parsed_spec.rb             |    4 +-
 spec/unit/provider/mount/parsed_spec.rb            |    4 +-
 .../provider/ssh_authorized_key/parsed_spec.rb     |    6 +-
 spec/unit/reports/tagmail_spec.rb                  |    7 +--
 spec/unit/type/file_spec.rb                        |   10 +---
 60 files changed, 777 insertions(+), 32 deletions(-)
 create mode 100644 spec/fixtures/integration/provider/mailalias/aliases/test1
 create mode 100644 spec/fixtures/unit/parser/lexer/aliastest.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/append.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/argumentdefaults.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/arithmetic_expression.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/casestatement.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/classheirarchy.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/classincludes.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/classpathtest.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/collection.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/collection_override.pp
 create mode 100644 
spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/componentmetaparams.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/componentrequire.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/defineoverrides.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/emptyclass.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/emptyexec.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/emptyifelse.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/falsevalues.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/filecreate.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/fqdefinition.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/fqparents.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/funccomma.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/hash.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/ifexpression.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/implicititeration.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/multilinecomments.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/multipleclass.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/multipleinstances.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/multisubs.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/namevartest.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/scopetest.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/selectorvalues.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/simpledefaults.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/simpleselector.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/singleary.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/singlequote.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/singleselector.pp
 create mode 100755 spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/tag.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/tagged.pp
 create mode 100644 spec/fixtures/unit/parser/lexer/virtualresources.pp
 create mode 100644 spec/fixtures/unit/provider/host/parsed/valid_hosts
 create mode 100644 spec/fixtures/unit/provider/mount/parsed/freebsd.fstab
 create mode 100644 spec/fixtures/unit/provider/mount/parsed/linux.fstab
 create mode 100644 spec/fixtures/unit/provider/mount/parsed/solaris.fstab
 create mode 100644 
spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys
 create mode 100644 
spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1
 create mode 100644 
spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2
 create mode 100644 spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
 create mode 100644 spec/fixtures/unit/reports/tagmail/tagmail_passers.conf
 mode change 100644 => 100755 spec/unit/provider/host/parsed_spec.rb

diff --git a/spec/fixtures/integration/provider/mailalias/aliases/test1 
b/spec/fixtures/integration/provider/mailalias/aliases/test1
new file mode 100644
index 0000000..ecf5322
--- /dev/null
+++ b/spec/fixtures/integration/provider/mailalias/aliases/test1
@@ -0,0 +1,28 @@
+# Basic system aliases -- these MUST be present
+MAILER-DAEMON:  postmaster
+postmaster: root
+
+# General redirections for pseudo accounts
+bin:        root
+daemon:     root
+named:      root
+nobody:     root
+uucp:       root
+www:        root
+ftp-bugs:   root
+postfix:    root
+
+# Put your local aliases here.
+
+# Well-known aliases
+manager:    root
+dumper:     root
+operator:   root
+abuse:      postmaster
+
+# trap decode to catch security attacks
+decode:     root
+
+# Other tests
+anothertest: "|/path/to/rt-mailgate --queue 'another test' --action correspond 
--url http://my.com/";
+test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url 
http://my.com/";
diff --git a/spec/fixtures/unit/parser/lexer/aliastest.pp 
b/spec/fixtures/unit/parser/lexer/aliastest.pp
new file mode 100644
index 0000000..f2b6159
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/aliastest.pp
@@ -0,0 +1,16 @@
+file { "a file":
+    path => "/tmp/aliastest",
+    ensure => file
+}
+
+file { "another":
+    path => "/tmp/aliastest2",
+    ensure => file,
+    require => File["a file"]
+}
+
+file { "a third":
+    path => "/tmp/aliastest3",
+    ensure => file,
+    require => File["/tmp/aliastest"]
+}
diff --git a/spec/fixtures/unit/parser/lexer/append.pp 
b/spec/fixtures/unit/parser/lexer/append.pp
new file mode 100644
index 0000000..20cbda6
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/append.pp
@@ -0,0 +1,11 @@
+$var=['/tmp/file1','/tmp/file2']
+
+class arraytest {
+    $var += ['/tmp/file3', '/tmp/file4']
+    file {
+        $var:
+            content => "test"
+    }
+}
+
+include arraytest
diff --git a/spec/fixtures/unit/parser/lexer/argumentdefaults.pp 
b/spec/fixtures/unit/parser/lexer/argumentdefaults.pp
new file mode 100644
index 0000000..eac9dd7
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/argumentdefaults.pp
@@ -0,0 +1,14 @@
+# $Id$
+
+define testargs($file, $mode = 755) {
+    file { $file: ensure => file, mode => $mode }
+}
+
+testargs { "testingname":
+    file => "/tmp/argumenttest1"
+}
+
+testargs { "testingother":
+    file => "/tmp/argumenttest2",
+    mode => 644
+}
diff --git a/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp 
b/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp
new file mode 100644
index 0000000..aae98a4
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp
@@ -0,0 +1,8 @@
+
+$one = 1.30
+$two = 2.034e-2
+
+$result = ((( $two + 2) / $one) + 4 * 5.45) - (6 << 7) + (0x800 + -9)
+
+
+notice("result is $result == 1295.87692307692")
\ No newline at end of file
diff --git a/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp 
b/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp
new file mode 100644
index 0000000..a410f95
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp
@@ -0,0 +1,3 @@
+file {
+    ["/tmp/arraytrailingcomma1","/tmp/arraytrailingcomma2", ]: content => "tmp"
+}
diff --git a/spec/fixtures/unit/parser/lexer/casestatement.pp 
b/spec/fixtures/unit/parser/lexer/casestatement.pp
new file mode 100644
index 0000000..66ecd72
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/casestatement.pp
@@ -0,0 +1,65 @@
+# $Id$
+
+$var = "value"
+
+case $var {
+  "nope": {
+     file { "/tmp/fakefile": mode => 644, ensure => file }
+  }
+  "value": {
+     file { "/tmp/existsfile": mode => 755, ensure => file }
+  }
+}
+
+$ovar = "yayness"
+
+case $ovar {
+    "fooness": {
+         file { "/tmp/nostillexistsfile": mode => 644, ensure => file }
+    }
+    "booness", "yayness": {
+        case $var {
+            "nep": {
+                 file { "/tmp/noexistsfile": mode => 644, ensure => file }
+            }
+            "value": {
+                 file { "/tmp/existsfile2": mode => 755, ensure => file }
+            }
+        }
+    }
+}
+
+case $ovar {
+    "fooness": {
+         file { "/tmp/nostillexistsfile": mode => 644, ensure => file }
+    }
+    default: {
+        file { "/tmp/existsfile3": mode => 755, ensure => file }
+    }
+}
+
+$bool = true
+
+case $bool {
+    true: {
+        file { "/tmp/existsfile4": mode => 755, ensure => file }
+    }
+}
+
+$yay = yay
+$a = yay
+$b = boo
+
+case $yay {
+    $a: { file { "/tmp/existsfile5": mode => 755, ensure => file } }
+    $b: { file { "/tmp/existsfile5": mode => 644, ensure => file } }
+    default: { file { "/tmp/existsfile5": mode => 711, ensure => file } }
+
+}
+
+$regexvar = "exists regex"
+case $regexvar {
+    "no match": { file { "/tmp/existsfile6": mode => 644, ensure => file } }
+    /(.*) regex$/: { file { "/tmp/${1}file6": mode => 755, ensure => file } }
+    default: { file { "/tmp/existsfile6": mode => 711, ensure => file } }
+}
diff --git a/spec/fixtures/unit/parser/lexer/classheirarchy.pp 
b/spec/fixtures/unit/parser/lexer/classheirarchy.pp
new file mode 100644
index 0000000..36619d8
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/classheirarchy.pp
@@ -0,0 +1,15 @@
+# $Id$
+
+class base {
+    file { "/tmp/classheir1": ensure => file, mode => 755 }
+}
+
+class sub1 inherits base {
+    file { "/tmp/classheir2": ensure => file, mode => 755 }
+}
+
+class sub2 inherits base {
+    file { "/tmp/classheir3": ensure => file, mode => 755 }
+}
+
+include sub1, sub2
diff --git a/spec/fixtures/unit/parser/lexer/classincludes.pp 
b/spec/fixtures/unit/parser/lexer/classincludes.pp
new file mode 100644
index 0000000..bd5b44e
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/classincludes.pp
@@ -0,0 +1,17 @@
+# $Id$
+
+class base {
+    file { "/tmp/classincludes1": ensure => file, mode => 755 }
+}
+
+class sub1 inherits base {
+    file { "/tmp/classincludes2": ensure => file, mode => 755 }
+}
+
+class sub2 inherits base {
+    file { "/tmp/classincludes3": ensure => file, mode => 755 }
+}
+
+$sub = "sub2"
+
+include sub1, $sub
diff --git a/spec/fixtures/unit/parser/lexer/classpathtest.pp 
b/spec/fixtures/unit/parser/lexer/classpathtest.pp
new file mode 100644
index 0000000..5803333
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/classpathtest.pp
@@ -0,0 +1,11 @@
+# $Id$
+
+define mytype {
+    file { "/tmp/classtest": ensure => file, mode => 755 }
+}
+
+class testing {
+    mytype { "componentname": }
+}
+
+include testing
diff --git a/spec/fixtures/unit/parser/lexer/collection.pp 
b/spec/fixtures/unit/parser/lexer/collection.pp
new file mode 100644
index 0000000..bc29510
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/collection.pp
@@ -0,0 +1,10 @@
+class one {
+    @file { "/tmp/colltest1": content => "one" }
+    @file { "/tmp/colltest2": content => "two" }
+}
+
+class two {
+    File <| content == "one" |>
+}
+
+include one, two
diff --git a/spec/fixtures/unit/parser/lexer/collection_override.pp 
b/spec/fixtures/unit/parser/lexer/collection_override.pp
new file mode 100644
index 0000000..b1b39ab
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/collection_override.pp
@@ -0,0 +1,8 @@
+@file {
+    "/tmp/collection":
+        content => "whatever"
+}
+
+File<| |> {
+    mode => 0600
+}
diff --git 
a/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp 
b/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp
new file mode 100644
index 0000000..3c21468
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp
@@ -0,0 +1,20 @@
+define test($name) {
+    file {"/tmp/collection_within_virtual_definitions1_$name.txt":
+        content => "File name $name\n"
+    }
+    Test2 <||>
+}
+
+define test2() {
+    file {"/tmp/collection_within_virtual_definitions2_$name.txt":
+        content => "This is a test\n"
+    }
+}
+
+node default {
+    @test {"foo":
+        name => "foo"
+    }
+    @test2 {"foo2": }
+    Test <||>
+}
diff --git a/spec/fixtures/unit/parser/lexer/componentmetaparams.pp 
b/spec/fixtures/unit/parser/lexer/componentmetaparams.pp
new file mode 100644
index 0000000..7d9f0c2
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/componentmetaparams.pp
@@ -0,0 +1,11 @@
+file { "/tmp/component1":
+    ensure => file
+}
+
+define thing {
+    file { $name: ensure => file }
+}
+
+thing { "/tmp/component2":
+    require => File["/tmp/component1"]
+}
diff --git a/spec/fixtures/unit/parser/lexer/componentrequire.pp 
b/spec/fixtures/unit/parser/lexer/componentrequire.pp
new file mode 100644
index 0000000..a61d205
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/componentrequire.pp
@@ -0,0 +1,8 @@
+define testfile($mode) {
+    file { $name: mode => $mode, ensure => present }
+}
+
+testfile { "/tmp/testing_component_requires2": mode => 755 }
+
+file { "/tmp/testing_component_requires1": mode => 755, ensure => present,
+    require => Testfile["/tmp/testing_component_requires2"] }
diff --git a/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp 
b/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp
new file mode 100644
index 0000000..249e633
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp
@@ -0,0 +1,23 @@
+# $Id$
+
+class base {
+    file { "/tmp/deepclassheir1": ensure => file, mode => 755 }
+}
+
+class sub1 inherits base {
+    file { "/tmp/deepclassheir2": ensure => file, mode => 755 }
+}
+
+class sub2 inherits sub1 {
+    file { "/tmp/deepclassheir3": ensure => file, mode => 755 }
+}
+
+class sub3 inherits sub2 {
+    file { "/tmp/deepclassheir4": ensure => file, mode => 755 }
+}
+
+class sub4 inherits sub3 {
+    file { "/tmp/deepclassheir5": ensure => file, mode => 755 }
+}
+
+include sub4
diff --git a/spec/fixtures/unit/parser/lexer/defineoverrides.pp 
b/spec/fixtures/unit/parser/lexer/defineoverrides.pp
new file mode 100644
index 0000000..c68b139
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/defineoverrides.pp
@@ -0,0 +1,17 @@
+# $Id$
+
+$file = "/tmp/defineoverrides1"
+
+define myfile($mode) {
+    file { $name: ensure => file, mode => $mode }
+}
+
+class base {
+    myfile { $file: mode => 644 }
+}
+
+class sub inherits base {
+    Myfile[$file] { mode => 755, } # test the end-comma
+}
+
+include sub
diff --git a/spec/fixtures/unit/parser/lexer/emptyclass.pp 
b/spec/fixtures/unit/parser/lexer/emptyclass.pp
new file mode 100644
index 0000000..48047e7
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/emptyclass.pp
@@ -0,0 +1,9 @@
+# $Id$
+
+define component {
+}
+
+class testing {
+}
+
+include testing
diff --git a/spec/fixtures/unit/parser/lexer/emptyexec.pp 
b/spec/fixtures/unit/parser/lexer/emptyexec.pp
new file mode 100644
index 0000000..847a30d
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/emptyexec.pp
@@ -0,0 +1,3 @@
+exec { "touch /tmp/emptyexectest":
+    path => "/usr/bin:/bin"
+}
diff --git a/spec/fixtures/unit/parser/lexer/emptyifelse.pp 
b/spec/fixtures/unit/parser/lexer/emptyifelse.pp
new file mode 100644
index 0000000..598b486
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/emptyifelse.pp
@@ -0,0 +1,9 @@
+
+if false {
+} else {
+  # nothing here
+}
+
+if true {
+  # still nothing
+}
diff --git a/spec/fixtures/unit/parser/lexer/falsevalues.pp 
b/spec/fixtures/unit/parser/lexer/falsevalues.pp
new file mode 100644
index 0000000..2143b79
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/falsevalues.pp
@@ -0,0 +1,3 @@
+$value = false
+
+file { "/tmp/falsevalues$value": ensure => file }
diff --git a/spec/fixtures/unit/parser/lexer/filecreate.pp 
b/spec/fixtures/unit/parser/lexer/filecreate.pp
new file mode 100644
index 0000000..d7972c2
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/filecreate.pp
@@ -0,0 +1,11 @@
+# $Id$
+
+file {
+    "/tmp/createatest": ensure => file, mode => 755;
+    "/tmp/createbtest": ensure => file, mode => 755
+}
+
+file {
+    "/tmp/createctest": ensure => file;
+    "/tmp/createdtest": ensure => file;
+}
diff --git a/spec/fixtures/unit/parser/lexer/fqdefinition.pp 
b/spec/fixtures/unit/parser/lexer/fqdefinition.pp
new file mode 100644
index 0000000..ddb0675
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/fqdefinition.pp
@@ -0,0 +1,5 @@
+define one::two($ensure) {
+    file { "/tmp/fqdefinition": ensure => $ensure }
+}
+
+one::two { "/tmp/fqdefinition": ensure => file }
diff --git a/spec/fixtures/unit/parser/lexer/fqparents.pp 
b/spec/fixtures/unit/parser/lexer/fqparents.pp
new file mode 100644
index 0000000..ee2f654
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/fqparents.pp
@@ -0,0 +1,11 @@
+class base {
+    class one {
+        file { "/tmp/fqparent1": ensure => file }
+    }
+}
+
+class two::three inherits base::one {
+    file { "/tmp/fqparent2": ensure => file }
+}
+
+include two::three
diff --git a/spec/fixtures/unit/parser/lexer/funccomma.pp 
b/spec/fixtures/unit/parser/lexer/funccomma.pp
new file mode 100644
index 0000000..32e34f9
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/funccomma.pp
@@ -0,0 +1,5 @@
+@file {
+    ["/tmp/funccomma1","/tmp/funccomma2"]: content => "1"
+}
+
+realize( File["/tmp/funccomma1"], File["/tmp/funccomma2"] , )
diff --git a/spec/fixtures/unit/parser/lexer/hash.pp 
b/spec/fixtures/unit/parser/lexer/hash.pp
new file mode 100644
index 0000000..d332498
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/hash.pp
@@ -0,0 +1,33 @@
+
+$hash = { "file" => "/tmp/myhashfile1" }
+
+file {
+    $hash["file"]:
+        ensure => file, content => "content";
+}
+
+$hash2 = { "a" => { key => "/tmp/myhashfile2" }}
+
+file {
+    $hash2["a"][key]:
+        ensure => file, content => "content";
+}
+
+define test($a = { "b" => "c" }) {
+    file {
+        $a["b"]:
+            ensure => file, content => "content"
+    }
+}
+
+test {
+    "test":
+        a => { "b" => "/tmp/myhashfile3" }
+}
+
+$hash3 = { mykey => "/tmp/myhashfile4" }
+$key = "mykey"
+
+file {
+    $hash3[$key]: ensure => file, content => "content"
+}
diff --git a/spec/fixtures/unit/parser/lexer/ifexpression.pp 
b/spec/fixtures/unit/parser/lexer/ifexpression.pp
new file mode 100644
index 0000000..29a6372
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/ifexpression.pp
@@ -0,0 +1,12 @@
+$one = 1
+$two = 2
+
+if ($one < $two) and (($two < 3) or ($two == 2)) {
+    notice("True!")
+}
+
+if "test regex" =~ /(.*) regex/ {
+    file {
+        "/tmp/${1}iftest": ensure => file, mode => 0755
+    }
+}
diff --git a/spec/fixtures/unit/parser/lexer/implicititeration.pp 
b/spec/fixtures/unit/parser/lexer/implicititeration.pp
new file mode 100644
index 0000000..6f34cb2
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/implicititeration.pp
@@ -0,0 +1,15 @@
+# $Id$
+
+$files = ["/tmp/iterationatest", "/tmp/iterationbtest"]
+
+file { $files: ensure => file, mode => 755 }
+
+file { ["/tmp/iterationctest", "/tmp/iterationdtest"]:
+    ensure => file,
+    mode => 755
+}
+
+file {
+    ["/tmp/iterationetest", "/tmp/iterationftest"]: ensure => file, mode => 
755;
+    ["/tmp/iterationgtest", "/tmp/iterationhtest"]: ensure => file, mode => 
755;
+}
diff --git a/spec/fixtures/unit/parser/lexer/multilinecomments.pp 
b/spec/fixtures/unit/parser/lexer/multilinecomments.pp
new file mode 100644
index 0000000..f9819c0
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/multilinecomments.pp
@@ -0,0 +1,10 @@
+
+/*
+file {
+    "/tmp/multilinecomments": content => "pouet"
+}
+*/
+
+/* and another one for #2333, the whitespace after the 
+end comment is here on purpose */  
+
diff --git a/spec/fixtures/unit/parser/lexer/multipleclass.pp 
b/spec/fixtures/unit/parser/lexer/multipleclass.pp
new file mode 100644
index 0000000..ae02edc
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/multipleclass.pp
@@ -0,0 +1,9 @@
+class one {
+    file { "/tmp/multipleclassone": content => "one" }
+}
+
+class one {
+    file { "/tmp/multipleclasstwo": content => "two" }
+}
+
+include one
diff --git a/spec/fixtures/unit/parser/lexer/multipleinstances.pp 
b/spec/fixtures/unit/parser/lexer/multipleinstances.pp
new file mode 100644
index 0000000..2f9b3c2
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/multipleinstances.pp
@@ -0,0 +1,7 @@
+# $Id$
+
+file {
+    "/tmp/multipleinstancesa": ensure => file, mode => 755;
+    "/tmp/multipleinstancesb": ensure => file, mode => 755;
+    "/tmp/multipleinstancesc": ensure => file, mode => 755;
+}
diff --git a/spec/fixtures/unit/parser/lexer/multisubs.pp 
b/spec/fixtures/unit/parser/lexer/multisubs.pp
new file mode 100644
index 0000000..bcec69e
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/multisubs.pp
@@ -0,0 +1,13 @@
+class base {
+    file { "/tmp/multisubtest": content => "base", mode => 644 }
+}
+
+class sub1 inherits base {
+    File["/tmp/multisubtest"] { mode => 755 }
+}
+
+class sub2 inherits base {
+    File["/tmp/multisubtest"] { content => sub2 }
+}
+
+include sub1, sub2
diff --git a/spec/fixtures/unit/parser/lexer/namevartest.pp 
b/spec/fixtures/unit/parser/lexer/namevartest.pp
new file mode 100644
index 0000000..dbee1c3
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/namevartest.pp
@@ -0,0 +1,9 @@
+define filetest($mode, $ensure = file) {
+    file { $name:
+        mode => $mode,
+        ensure => $ensure
+    }
+}
+
+filetest { "/tmp/testfiletest": mode => 644}
+filetest { "/tmp/testdirtest": mode => 755, ensure => directory}
diff --git a/spec/fixtures/unit/parser/lexer/scopetest.pp 
b/spec/fixtures/unit/parser/lexer/scopetest.pp
new file mode 100644
index 0000000..3314917
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/scopetest.pp
@@ -0,0 +1,13 @@
+
+$mode = 640
+
+define thing {
+    file { "/tmp/$name": ensure => file, mode => $mode }
+}
+
+class testing {
+    $mode = 755
+    thing {scopetest: }
+}
+
+include testing
diff --git a/spec/fixtures/unit/parser/lexer/selectorvalues.pp 
b/spec/fixtures/unit/parser/lexer/selectorvalues.pp
new file mode 100644
index 0000000..d80d26c
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/selectorvalues.pp
@@ -0,0 +1,49 @@
+$value1 = ""
+$value2 = true
+$value3 = false
+$value4 = yay
+
+$test = "yay"
+
+$mode1 = $value1 ? {
+    "" => 755,
+    default => 644
+}
+
+$mode2 = $value2 ? {
+    true => 755,
+    default => 644
+}
+
+$mode3 = $value3 ? {
+    false => 755,
+    default => 644
+}
+
+$mode4 = $value4 ? {
+    $test => 755,
+    default => 644
+}
+
+$mode5 = yay ? {
+    $test => 755,
+    default => 644
+}
+
+$mode6 = $mode5 ? {
+    755 => 755
+}
+
+$mode7 = "test regex" ? {
+    /regex$/ => 755,
+    default => 644
+}
+
+
+file { "/tmp/selectorvalues1": ensure => file, mode => $mode1 }
+file { "/tmp/selectorvalues2": ensure => file, mode => $mode2 }
+file { "/tmp/selectorvalues3": ensure => file, mode => $mode3 }
+file { "/tmp/selectorvalues4": ensure => file, mode => $mode4 }
+file { "/tmp/selectorvalues5": ensure => file, mode => $mode5 }
+file { "/tmp/selectorvalues6": ensure => file, mode => $mode6 }
+file { "/tmp/selectorvalues7": ensure => file, mode => $mode7 }
diff --git a/spec/fixtures/unit/parser/lexer/simpledefaults.pp 
b/spec/fixtures/unit/parser/lexer/simpledefaults.pp
new file mode 100644
index 0000000..63d199a
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/simpledefaults.pp
@@ -0,0 +1,5 @@
+# $Id$
+
+File { mode => 755 }
+
+file { "/tmp/defaulttest": ensure => file }
diff --git a/spec/fixtures/unit/parser/lexer/simpleselector.pp 
b/spec/fixtures/unit/parser/lexer/simpleselector.pp
new file mode 100644
index 0000000..8b9bc72
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/simpleselector.pp
@@ -0,0 +1,38 @@
+# $Id$
+
+$var = "value"
+
+file { "/tmp/snippetselectatest":
+    ensure => file,
+    mode => $var ? {
+        nottrue => 641,
+        value => 755
+    }
+}
+
+file { "/tmp/snippetselectbtest":
+    ensure => file,
+    mode => $var ? {
+        nottrue => 644,
+        default => 755
+    }
+}
+
+$othervar = "complex value"
+
+file { "/tmp/snippetselectctest":
+    ensure => file,
+    mode => $othervar ? {
+        "complex value" => 755,
+        default => 644
+    }
+}
+$anothervar = Yayness
+
+file { "/tmp/snippetselectdtest":
+    ensure => file,
+    mode => $anothervar ? {
+        Yayness => 755,
+        default => 644
+    }
+}
diff --git a/spec/fixtures/unit/parser/lexer/singleary.pp 
b/spec/fixtures/unit/parser/lexer/singleary.pp
new file mode 100644
index 0000000..9ce56dd
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/singleary.pp
@@ -0,0 +1,19 @@
+# $Id$
+
+file { "/tmp/singleary1":
+    ensure => file
+}
+
+file { "/tmp/singleary2":
+    ensure => file
+}
+
+file { "/tmp/singleary3":
+    ensure => file,
+    require => [File["/tmp/singleary1"], File["/tmp/singleary2"]]
+}
+
+file { "/tmp/singleary4":
+    ensure => file,
+    require => [File["/tmp/singleary1"]]
+}
diff --git a/spec/fixtures/unit/parser/lexer/singlequote.pp 
b/spec/fixtures/unit/parser/lexer/singlequote.pp
new file mode 100644
index 0000000..dc876a2
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/singlequote.pp
@@ -0,0 +1,11 @@
+# $Id$
+
+file { "/tmp/singlequote1":
+    ensure => file,
+    content => 'a $quote'
+}
+
+file { "/tmp/singlequote2":
+    ensure => file,
+    content => 'some "\yayness\"'
+}
diff --git a/spec/fixtures/unit/parser/lexer/singleselector.pp 
b/spec/fixtures/unit/parser/lexer/singleselector.pp
new file mode 100644
index 0000000..520a140
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/singleselector.pp
@@ -0,0 +1,22 @@
+$value1 = ""
+$value2 = true
+$value3 = false
+$value4 = yay
+
+$test = "yay"
+
+$mode1 = $value1 ? {
+    "" => 755
+}
+
+$mode2 = $value2 ? {
+    true => 755
+}
+
+$mode3 = $value3 ? {
+    default => 755
+}
+
+file { "/tmp/singleselector1": ensure => file, mode => $mode1 }
+file { "/tmp/singleselector2": ensure => file, mode => $mode2 }
+file { "/tmp/singleselector3": ensure => file, mode => $mode3 }
diff --git a/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp 
b/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp
new file mode 100755
index 0000000..10f1d75
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp
@@ -0,0 +1,11 @@
+#!/usr/bin/env puppet
+
+class one::fake {
+    file { "/tmp/subclass_name_duplication1": ensure => present }
+}
+
+class two::fake {
+    file { "/tmp/subclass_name_duplication2": ensure => present }
+}
+
+include one::fake, two::fake
diff --git a/spec/fixtures/unit/parser/lexer/tag.pp 
b/spec/fixtures/unit/parser/lexer/tag.pp
new file mode 100644
index 0000000..e6e770d
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/tag.pp
@@ -0,0 +1,9 @@
+# $Id$
+
+$variable = value
+
+tag yayness, rahness
+
+tag booness, $variable
+
+file { "/tmp/settestingness": ensure => file }
diff --git a/spec/fixtures/unit/parser/lexer/tagged.pp 
b/spec/fixtures/unit/parser/lexer/tagged.pp
new file mode 100644
index 0000000..7bf90a6
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/tagged.pp
@@ -0,0 +1,35 @@
+# $Id$
+
+tag testing
+tag(funtest)
+
+class tagdefine {
+    $path = tagged(tagdefine) ? {
+        true => "true", false => "false"
+    }
+
+    file { "/tmp/taggeddefine$path": ensure => file }
+}
+
+include tagdefine
+
+$yayness = tagged(yayness) ? {
+    true => "true", false => "false"
+}
+
+$funtest = tagged(testing) ? {
+    true => "true", false => "false"
+}
+
+$both = tagged(testing, yayness) ? {
+    true => "true", false => "false"
+}
+
+$bothtrue = tagged(testing, testing) ? {
+    true => "true", false => "false"
+}
+
+file { "/tmp/taggedyayness$yayness": ensure => file }
+file { "/tmp/taggedtesting$funtest": ensure => file }
+file { "/tmp/taggedboth$both": ensure => file }
+file { "/tmp/taggedbothtrue$bothtrue": ensure => file }
diff --git a/spec/fixtures/unit/parser/lexer/virtualresources.pp 
b/spec/fixtures/unit/parser/lexer/virtualresources.pp
new file mode 100644
index 0000000..a29406b
--- /dev/null
+++ b/spec/fixtures/unit/parser/lexer/virtualresources.pp
@@ -0,0 +1,14 @@
+class one {
+    @file { "/tmp/virtualtest1": content => "one" }
+    @file { "/tmp/virtualtest2": content => "two" }
+    @file { "/tmp/virtualtest3": content => "three" }
+    @file { "/tmp/virtualtest4": content => "four" }
+}
+
+class two {
+    File <| content == "one" |>
+    realize File["/tmp/virtualtest2"]
+    realize(File["/tmp/virtualtest3"], File["/tmp/virtualtest4"])
+}
+
+include one, two
diff --git a/spec/fixtures/unit/provider/host/parsed/valid_hosts 
b/spec/fixtures/unit/provider/host/parsed/valid_hosts
new file mode 100644
index 0000000..2463629
--- /dev/null
+++ b/spec/fixtures/unit/provider/host/parsed/valid_hosts
@@ -0,0 +1,19 @@
+# Some leading comment, that should be ignored
+# The next line is empty so it should be ignored
+
+::1 localhost
+
+# We now try another delimiter: Several tabs
+127.0.0.1         localhost
+
+# No test trailing spaces
+10.0.0.1         host1         
+
+# Ok its time to test aliases
+2001:252:0:1::2008:8 ipv6host alias1
+192.168.0.1 ipv4host alias2 alias3
+
+# Testing inlinecomments now
+192.168.0.2 host3 # This is host3
+192.168.0.3 host4 alias10 # This is host4
+192.168.0.4 host5   alias11             alias12      #     This is host5
diff --git a/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab 
b/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab
new file mode 100644
index 0000000..a411042
--- /dev/null
+++ b/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab
@@ -0,0 +1,7 @@
+# Device                Mountpoint      FStype  Options         Dump    Pass#
+/dev/ad0s1b             none            swap    sw              0       0
+/dev/ad0s1a             /               ufs     rw              1       1
+/dev/ad0s1e             /tmp            ufs     rw              2       2
+/dev/ad0s1f             /usr            ufs     rw              2       2
+/dev/ad0s1d             /var            ufs     rw              2       2
+/dev/acd0               /cdrom          cd9660  ro,noauto       0       0
diff --git a/spec/fixtures/unit/provider/mount/parsed/linux.fstab 
b/spec/fixtures/unit/provider/mount/parsed/linux.fstab
new file mode 100644
index 0000000..b1debff
--- /dev/null
+++ b/spec/fixtures/unit/provider/mount/parsed/linux.fstab
@@ -0,0 +1,11 @@
+# A sample fstab, typical for a Fedora system
+/dev/vg00/lv00          /                       ext3    defaults        1 1
+LABEL=/boot             /boot                   ext3    defaults        1 2
+devpts                  /dev/pts                devpts  gid=5,mode=620  0
+tmpfs                   /dev/shm                tmpfs   defaults        0
+LABEL=/home             /home                   ext3    defaults        1 2
+/home                   /homes                  auto    bind            0 2
+proc                    /proc                   proc    defaults        0 0
+/dev/vg00/lv01          /spare                  ext3    defaults        1 2
+sysfs                   /sys                    sysfs   defaults        0 0
+LABEL=SWAP-hda6         swap                    swap    defaults        0 0
diff --git a/spec/fixtures/unit/provider/mount/parsed/solaris.fstab 
b/spec/fixtures/unit/provider/mount/parsed/solaris.fstab
new file mode 100644
index 0000000..54afc89
--- /dev/null
+++ b/spec/fixtures/unit/provider/mount/parsed/solaris.fstab
@@ -0,0 +1,11 @@
+#device         device          mount           FS      fsck    mount   mount
+#to mount       to fsck         point           type    pass    at boot options
+#
+fd      -       /dev/fd fd      -       no      -
+/proc   -       /proc   proc    -       no      -
+/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0        /       ufs     1       no      -
+/dev/dsk/c0d0p0:boot    -       /boot   pcfs    -       no      -
+/devices        -       /devices        devfs   -       no      -
+ctfs    -       /system/contract        ctfs    -       no      -
+objfs   -       /system/object  objfs   -       no      -
+#swap   -       /tmp    tmpfs   -       yes     -
diff --git 
a/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys 
b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys
new file mode 100644
index 0000000..b22329d
--- /dev/null
+++ b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys
@@ -0,0 +1,7 @@
+ssh-dss 
AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI=
 [email protected]
+ssh-dss 
AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI=
 Francois Deppierraz <[email protected]>
+from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding ssh-dss 
AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI=
 Francois Deppierraz
+from="192.168.1.1, 
www.reductivelabs.com",command="/bin/false",no-pty,no-port-forwarding ssh-dss 
AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI=
 Francois Deppierraz
+ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEA2Vi+TdC3iOGYcIo5vGTvC9P9rjHl9RxCuZmSfn+YDFQ35RXf0waijtjp9I7GYh6R4hBjA5z0u/Pzi95LET5NfRM0Gdc0DJyvBI7K+ALBxIT383Iz6Yz4iKxe1TEJgHGM2he4+7BHkjc3kdIZqIpZjucCk4VsXSxujO4MKKvtaKK2l+kahlLQHHw/vZkDpIgL52iGVsjW9l8RLJaKHZ4mDHJN/Q/Rzn2W4EvcdHUzwhvGMwZlm8clDwITBrSsawYtnivJrQSYcmTRqJuS8wprNDrLIhTGjrwFg5WpruUuMt6fLuCqwe6TeEL+nh3DQ4g554c5aRp3oU6LGBKTvNZGWQ==
 francois@korn
+ssh-dss 
AAAAB3NzaC1kc3MAAACBAMPpCYnjywOemd8LqbbmC+bePNR3/H1rXsiFwjSLhYE3bbOpvclvOzN1DruFc34m0FopVnMkP+aubjdIYF8pijl+5hg9ggB7Kno2dl0Dd1rGN/swvmhA8OpLAQv7Qt7UnXKVho3as08zYZsrHxYFu0wlnkdbsv4cy4aXyQKd4MPVAAAAFQDSyQFWg8Qt3wU05buhZ10psoR7tQAAAIEAmAhguXwUnI3P2FF5NAW/mpJUmUERdL4pyZARUyAgpf7ezwrh9TJqrvGTQNBF97Xqaivyncm5JWQdMIsTBxEFaXZGkmBta02KnWcn447qvIh7iv8XpNL6M9flCkBEZOJ4t9El0ytTSHHaiCz8A20Et+E8evWyi1kXkFDt8ML2dGgAAACBAK0X4ympbdEjgV/ZyOc+BU22u7vOnfSOUJmyar4Ax1MIDNnoyNWKnGvxRutydQcQOKQHZEU0fE8MhPFn6nLF6CoVfEl/oz0EYz3hjV4WPFpHrF5DY/rhvNj8iuneKJ5P0dy/rG6m5qey25PnHyGFVoIRlkHJvBCJT40dHs40YEjI
 francois@korn
+ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEAut8aOSxenjOqF527dlsdHWV4MNoAsX14l9M297+SQXaQ5Z3BedIxZaoQthkDALlV/25A1COELrg9J2MqJNQc8Xe9XQOIkBQWWinUlD/BXwoOTWEy8C8zSZPHZ3getMMNhGTBO+q/O+qiJx3y5cA4MTbw2zSxukfWC87qWwcZ64UUlegIM056vPsdZWFclS9hsROVEa57YUMrehQ1EGxT4Z5j6zIopufGFiAPjZigq/vqgcAqhAKP6yu4/gwO6S9tatBeEjZ8fafvj1pmvvIplZeMr96gHE7xS3pEEQqnB3nd4RY7AF6j9kFixnsytAUO7STPh/M3pLiVQBN89TvWPQ==
diff --git 
a/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 
b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1
new file mode 100644
index 0000000..7aa0647
--- /dev/null
+++ b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1
@@ -0,0 +1,3 @@
+1024 35 
167576894966720957580065952882142495543043407324667405194097438434880798807651864847570827148390962746149410384891026772700627764845955493549511618975091512997118590589399665757714186775228807376424903966072778732134483862302766419277581465932186641863495699668069439475320990051723279127881281145164415361627
 francois@korn
+2048 35 
27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757
 francois@korn
+from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding 2048 35 
27332429396020032283276339339051507284036000350350092862949624519871013308460312287866673933080560923221560798334008554200019645416448528663000202951887890525621015333936122655294782671001073795264378070156670395703161543893088138531854776737799752600933431638059304355933305878665812555436198516842364330938321746086651639330436648850787370397302524667456837036413634152938122227368132322078811602953517461933179827432019932348409533535942749570969101453655028606209719023224268890314608444789012688070463327764203306501923404494017305972543000091038543051645924928018568725584728655193415567703220002707737714942757
 francois@korn
diff --git 
a/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 
b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2
new file mode 100644
index 0000000..9bf8301
--- /dev/null
+++ b/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2
@@ -0,0 +1 @@
+false ssh-dss 
AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI=
 Francois Deppierraz
diff --git a/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf 
b/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
new file mode 100644
index 0000000..d116b5f
--- /dev/null
+++ b/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf
@@ -0,0 +1,3 @@
+tag:
+: [email protected]
+invalid!tag: [email protected]
diff --git a/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf 
b/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf
new file mode 100644
index 0000000..ae6d2e7
--- /dev/null
+++ b/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf
@@ -0,0 +1,30 @@
+# A comment
+# or maybe two
+# plus some blank lines
+    # with some blanks plus a comment
+
+# a simple tag report
+one: [email protected]
+
+# with weird spacing
+ one : [email protected]
+
+# with multiple tags
+one, two: [email protected]
+
+# again with the weird syntax
+ one , two : [email protected]
+
+# Some negations
+one, !two: [email protected]
+
+# some oddly-formatted tags
+one, two-three, !four-five, !six: [email protected]
+
+# multiple addresses
+one, two: [email protected], [email protected]
+
+# and with weird spacing
+one, two: [email protected] , [email protected]
+
+# and a trailing comment
diff --git a/spec/integration/provider/mailalias/aliases_spec.rb 
b/spec/integration/provider/mailalias/aliases_spec.rb
index bce9374..c9c2526 100755
--- a/spec/integration/provider/mailalias/aliases_spec.rb
+++ b/spec/integration/provider/mailalias/aliases_spec.rb
@@ -2,14 +2,12 @@
 
 require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
 
-require 'puppettest/support/utils'
 require 'puppettest/fileparsing'
 
 provider_class = Puppet::Type.type(:mailalias).provider(:aliases)
 
 describe provider_class do
   include PuppetTest::FileParsing
-  include PuppetTest::Support::Utils
 
   before :each do
     @provider = provider_class
@@ -17,8 +15,8 @@ describe provider_class do
 
   # #1560
   it "should be able to parse the mailalias examples" do
-    fakedata("data/providers/mailalias/aliases").each { |file|
+    my_fixtures do |file|
       fakedataparse(file)
-    }
+    end
   end
 end
diff --git a/spec/unit/parser/lexer_spec.rb b/spec/unit/parser/lexer_spec.rb
index 58978ff..b8254f2 100755
--- a/spec/unit/parser/lexer_spec.rb
+++ b/spec/unit/parser/lexer_spec.rb
@@ -651,11 +651,8 @@ describe "Puppet::Parser::Lexer in the old tests" do
   end
 end
 
-require File.dirname(__FILE__) + '/../../../test/lib/puppettest'
-require File.dirname(__FILE__) + '/../../../test/lib/puppettest/support/utils'
 describe "Puppet::Parser::Lexer in the old tests when lexing example files" do
-  extend PuppetTest::Support::Utils
-  textfiles do |file|
+  my_fixtures('*.pp') do |file|
     it "should correctly lex #{file}" do
       lexer = Puppet::Parser::Lexer.new
       lexer.file = file
diff --git a/spec/unit/provider/host/parsed_spec.rb 
b/spec/unit/provider/host/parsed_spec.rb
old mode 100644
new mode 100755
index 5704304..4a616f3
--- a/spec/unit/provider/host/parsed_spec.rb
+++ b/spec/unit/provider/host/parsed_spec.rb
@@ -3,14 +3,12 @@
 require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
 
 require 'puppet_spec/files'
-require 'puppettest/support/utils'
 require 'puppettest/fileparsing'
 
 provider_class = Puppet::Type.type(:host).provider(:parsed)
 
 describe provider_class do
   include PuppetSpec::Files
-  extend  PuppetTest::Support::Utils
   include PuppetTest::FileParsing
 
   before do
@@ -132,7 +130,7 @@ describe provider_class do
   end
 
   describe "when operating on /etc/hosts like files" do
-    fakedata("data/providers/host/parsed","valid*").each do |file|
+    my_fixtures('valid*') do |file|
       it "should be able to parse #{file}" do
        fakedataparse(file)
       end
diff --git a/spec/unit/provider/mount/parsed_spec.rb 
b/spec/unit/provider/mount/parsed_spec.rb
index fc4df97..0eb4739 100755
--- a/spec/unit/provider/mount/parsed_spec.rb
+++ b/spec/unit/provider/mount/parsed_spec.rb
@@ -5,11 +5,9 @@
 
 require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
 
-require 'puppettest/support/utils'
 require 'puppettest/fileparsing'
 
 module ParsedMountTesting
-  include PuppetTest::Support::Utils
   include PuppetTest::FileParsing
 
   def fake_fstab
@@ -23,7 +21,7 @@ module ParsedMountTesting
       name = "linux.fstab"
     end
     oldpath = @provider_class.default_target
-    fakefile(File::join("data/types/mount", name))
+    my_fixture(name)
   end
 
   def mkmountargs
diff --git a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb 
b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb
index fb4c649..b951b0a 100755
--- a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb
+++ b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb
@@ -3,7 +3,6 @@
 require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
 
 require 'puppet_spec/files'
-require 'puppettest/support/utils'
 require 'puppettest/fileparsing'
 require 'puppettest/fakes'
 
@@ -11,7 +10,6 @@ provider_class = 
Puppet::Type.type(:ssh_authorized_key).provider(:parsed)
 
 describe provider_class do
   include PuppetSpec::Files
-  extend PuppetTest::Support::Utils
   include PuppetTest
   include PuppetTest::FileParsing
 
@@ -50,11 +48,11 @@ describe provider_class do
     @provider.target_object(@keyfile).read
   end
 
-  fakedata("data/providers/ssh_authorized_key/parsed").each { |file|
+  my_fixtures do |file|
     it "should be able to parse example data in #{file}" do
       fakedataparse(file)
     end
-  }
+  end
 
   it "should be able to generate a basic authorized_keys file" do
 
diff --git a/spec/unit/reports/tagmail_spec.rb 
b/spec/unit/reports/tagmail_spec.rb
index 1dadfc7..fa8990e 100755
--- a/spec/unit/reports/tagmail_spec.rb
+++ b/spec/unit/reports/tagmail_spec.rb
@@ -3,26 +3,23 @@
 Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? 
require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
 
 require 'puppet/reports'
-require 'puppettest/support/utils'
 
 tagmail = Puppet::Reports.report(:tagmail)
 
 describe tagmail do
-  extend PuppetTest::Support::Utils
-
   before do
     @processor = Puppet::Transaction::Report.new("apply")
     @processor.extend(Puppet::Reports.report(:tagmail))
   end
 
-  passers = File.join(datadir, "reports", "tagmail_passers.conf")
+  passers = my_fixture "tagmail_passers.conf"
   File.readlines(passers).each do |line|
     it "should be able to parse '#{line.inspect}'" do
       @processor.parse(line)
     end
   end
 
-  failers = File.join(datadir, "reports", "tagmail_failers.conf")
+  failers = my_fixture "tagmail_failers.conf"
   File.readlines(failers).each do |line|
     it "should not be able to parse '#{line.inspect}'" do
       lambda { @processor.parse(line) }.should raise_error(ArgumentError)
diff --git a/spec/unit/type/file_spec.rb b/spec/unit/type/file_spec.rb
index 539782f..b15d41d 100755
--- a/spec/unit/type/file_spec.rb
+++ b/spec/unit/type/file_spec.rb
@@ -379,8 +379,6 @@ describe Puppet::Type.type(:file) do
   end
 
   describe "when managing links" do
-    require 'puppettest/support/assertions'
-    include PuppetTest
     require 'tempfile'
 
     if @real_posix
@@ -394,13 +392,7 @@ describe Puppet::Type.type(:file) do
           File.open(@file, "w", 0644) { |f| f.puts "yayness"; f.flush }
           File.symlink(@file, @link)
 
-
-                @resource = Puppet::Type.type(:file).new(
-
-            :path => @link,
-
-            :mode => "755"
-          )
+          @resource = Puppet::Type.type(:file).new(:path => @link, :mode => 
"755")
           @catalog.add_resource @resource
         end
 
-- 
1.7.4.1

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to