The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

<conditions>

    <!-- Generic nested conditions used in the tests -->

    <condition name="always_true" class="Workflow::Condition::Evaluate">
        <param name="test" value="1"/>
    </condition>

    <condition name="always_true_2" class="Workflow::Condition::Evaluate">
        <param name="test" value="1"/>
    </condition>

    <condition name="always_false" class="Workflow::Condition::Evaluate">
        <param name="test" value="return 0"/>
    </condition>

    <condition name="always_false_2" class="Workflow::Condition::Evaluate">
        <param name="test" value="return 0"/>
    </condition>

    <!-- Conditions for Workflow::Condition::GreedyOR -->

    <!-- this should evaluate to 'true' with a value of 2 -->
    <condition name="greedy_or_1" class="Workflow::Condition::GreedyOR">
        <param name="condition1" value="always_true"/>
        <param name="condition2" value="always_false"/>
        <param name="condition3" value="always_true_2"/>
    </condition>

    <!-- this should evaluate to 'false' -->
    <condition name="greedy_or_2" class="Workflow::Condition::GreedyOR">
        <param name="condition2" value="always_false"/>
    </condition>

    <!-- Conditions for Workflow::Condition::LazyAND -->

    <!-- this should evaluate to 'false' -->
    <condition name="lazy_and_1" class="Workflow::Condition::LazyAND">
        <param name="condition1" value="always_true"/>
        <param name="condition2" value="always_false"/>
        <param name="condition3" value="always_true_2"/>
    </condition>

    <!-- this should evaluate to 'true' -->
    <condition name="lazy_and_2" class="Workflow::Condition::LazyAND">
        <param name="condition1" value="always_true"/>
        <param name="condition3" value="always_true_2"/>
    </condition>

    <!-- Conditions for Workflow::Condition::CheckReturn -->

    <!-- this should evaluate to 'true' -->
    <condition name="check_ret_1" class="Workflow::Condition::CheckReturn">
        <param name="condition" value="greedy_or_1"/>
        <param name="operator" value="ge"/>
        <param name="argument" value="2"/>
    </condition>

    <!-- this should evaluate to 'false' -->
    <condition name="check_ret_2" class="Workflow::Condition::CheckReturn">
        <param name="condition" value="greedy_or_1"/>
        <param name="operator" value="ge"/>
        <param name="argument" value="3"/>
    </condition>

    <!-- this should evaluate to 'false' -->
    <condition name="check_ret_3" class="Workflow::Condition::CheckReturn">
        <param name="condition" value="greedy_or_2"/>
        <param name="operator" value="ge"/>
        <param name="argument" value="2"/>
    </condition>

</conditions>