Sha256: 1d6b26ec672ba04f8cc40f2b9523e7403c77b9561d4b248f65034ce5b15f3bad

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

# Author::    Nicolas Pouillard  <ertai@lrde.epita.fr>.
# Copyright:: Copyright (c) 2004, 2005 TTK team. All rights reserved.
# License::   LGPL
# $Id: Cmd.rb 567 2005-04-13 08:00:06Z polrop $


module TTK

  module Strategies

    # FIXME: explain here how to use it to test a command line based program
    class Cmd < CmdBase
      include Concrete

      #
      # Methods
      #


      def assertion
        fail('wrong exit value') if !@exit.nil? and @exit.to_i != @my_exit.to_i
        super
      end
      protected :assertion


      def failed_hook
        super
	@log.my_exit = @my_exit
      end
      protected :failed_hook


      def son_hook
        env_sub = proc do |k,v|
          ENV[k.to_s] = v.do_symtbl_gsub(@symtbl).gsub(/\$(\w+)/) { ENV[$1] }
        end
        @env.each(&env_sub)
        @symtbl[:env].each(&env_sub) if @symtbl[:env]
      end
      protected :son_hook


      #
      # Attributes
      #

      attribute :exit,    'the exit status reference'
      attribute :env,     'environment variables' do {} end

    end # class Cmd

  end # module Strategies

end # module TTK

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ttk-0.1.576 lib/ttk/strategies/Cmd.rb
ttk-0.1.579 lib/ttk/strategies/Cmd.rb
ttk-0.2.1 lib/ttk/strategies/Cmd.rb
ttk-0.1.580 lib/ttk/strategies/Cmd.rb
ttk-0.2.0 lib/ttk/strategies/Cmd.rb