summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser/ast/not_spec.rb
blob: a3bf0b85d7c4def32e7810771198a95d51e8ee5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../../../spec_helper'

describe Puppet::Parser::AST::Not do
    before :each do
        @scope = Puppet::Parser::Scope.new()
        @true_ast = Puppet::Parser::AST::Boolean.new( :value => true)
        @false_ast = Puppet::Parser::AST::Boolean.new( :value => false)
    end

    it "should evaluate its child expression" do
        val = stub "val"
        val.expects(:safeevaluate).with(@scope)

        operator = Puppet::Parser::AST::Not.new :value => val
        operator.evaluate(@scope)
    end

    it "should return true for ! false" do
        operator = Puppet::Parser::AST::Not.new :value => @false_ast
        operator.evaluate(@scope).should == true
    end

    it "should return false for ! true" do
        operator = Puppet::Parser::AST::Not.new :value => @true_ast
        operator.evaluate(@scope).should == false
    end

end