Sha256: f81e1fa489ee10eb9a38ccc257d2576a7f4b2ebe2ec32a080c9a4bbff3b45301

Contents?: true

Size: 1.56 KB

Versions: 4

Compression:

Stored size: 1.56 KB

Contents

#
# testing ruote
#
# Sun Jun 14 14:48:03 JST 2009
#

require File.join(File.dirname(__FILE__), 'base')

require 'ruote/part/hash_participant'


class EftUndoTest < Test::Unit::TestCase
  include FunctionalBase

  def test_undo_ref

    pdef = Ruote.process_definition do
      concurrence do
        alpha :tag => 'kilroy'
        undo :ref => 'kilroy'
      end
      echo 'over'
    end

    alpha = @engine.register_participant :alpha, Ruote::HashParticipant.new

    #noisy

    assert_trace %w[ over ], pdef

    assert_equal 0, alpha.size

    assert_equal 1, logger.log.select { |e| e['action'] == 'entered_tag' }.size
    assert_equal 1, logger.log.select { |e| e['action'] == 'cancel' }.size
    assert_equal 1, logger.log.select { |e| e['action'] == 'left_tag' }.size
  end

  def test_undo

    pdef = Ruote.process_definition do
      concurrence do
        alpha :tag => :kilroy
        #undo :kilroy
        cancel :kilroy
      end
      echo 'over'
    end

    alpha = @engine.register_participant :alpha, Ruote::HashParticipant.new

    #noisy

    assert_trace %w[ over ], pdef

    assert_equal 0, alpha.size

    assert_equal 1, logger.log.select { |e| e['action'] == 'entered_tag' }.size
    assert_equal 1, logger.log.select { |e| e['action'] == 'cancel' }.size
    assert_equal 1, logger.log.select { |e| e['action'] == 'left_tag' }.size
  end

  def test_undo_parent

    pdef = Ruote.process_definition do
      sequence :tag => :richard do
        cancel :richard
        echo 'out'
      end
      echo '.'
    end

    #noisy

    assert_trace '.', pdef
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruote-2.1.11 test/functional/eft_8_undo.rb
ruote-2.1.10 test/functional/eft_8_undo.rb
ruote-2.1.9 test/functional/eft_8_undo.rb
ruote-2.1.8 test/functional/eft_8_undo.rb