openwferu 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/{README → README.txt} +16 -13
- data/bin/validate-workflow.rb +46 -22
- data/examples/README.txt +8 -0
- data/examples/homeworkreview.rb +66 -0
- data/examples/quotereporter.rb +154 -0
- data/lib/{openwferu.rb → openwfe.rb} +6 -8
- data/lib/{ru → openwfe}/contextual.rb +11 -3
- data/lib/{ru → openwfe/engine}/engine.rb +50 -36
- data/lib/{ru/participant.rb → openwfe/engine/file_persisted_engine.rb} +21 -22
- data/lib/openwfe/expool/expressionpool.rb +534 -0
- data/lib/openwfe/expool/expstorage.rb +184 -0
- data/lib/openwfe/expool/journalexpstorage.rb +312 -0
- data/lib/openwfe/expool/yamlexpstorage.rb +127 -0
- data/lib/{ru → openwfe/expressions}/environment.rb +19 -14
- data/lib/{ru → openwfe/expressions}/expressionmap.rb +48 -21
- data/lib/{ru → openwfe/expressions}/fe_concurrence.rb +111 -35
- data/lib/openwfe/expressions/fe_cursor.rb +236 -0
- data/lib/{ru → openwfe/expressions}/fe_define.rb +5 -5
- data/lib/openwfe/expressions/fe_fqv.rb +99 -0
- data/lib/openwfe/expressions/fe_iterator.rb +182 -0
- data/lib/{ru/fe_misc.rb → openwfe/expressions/fe_losfor.rb} +14 -56
- data/lib/openwfe/expressions/fe_misc.rb +102 -0
- data/lib/{ru → openwfe/expressions}/fe_participant.rb +25 -14
- data/lib/{ru → openwfe/expressions}/fe_raw.rb +39 -75
- data/lib/{ru/fe_base.rb → openwfe/expressions/fe_sequence.rb} +40 -35
- data/lib/{ru → openwfe/expressions}/fe_subprocess.rb +30 -14
- data/lib/{ru → openwfe/expressions}/fe_time.rb +59 -31
- data/lib/{ru → openwfe/expressions}/fe_utils.rb +42 -26
- data/lib/{ru → openwfe/expressions}/fe_value.rb +20 -14
- data/lib/openwfe/expressions/flowexpression.rb +434 -0
- data/lib/openwfe/expressions/raw_prog.rb +391 -0
- data/lib/openwfe/expressions/raw_xml.rb +128 -0
- data/lib/openwfe/flowexpressionid.rb +148 -0
- data/lib/{ru → openwfe}/logging.rb +10 -6
- data/lib/{osocket.rb → openwfe/osocket.rb} +36 -35
- data/lib/{otime.rb → openwfe/otime.rb} +71 -21
- data/lib/openwfe/participants/atomparticipants.rb +144 -0
- data/lib/openwfe/participants/enoparticipant.rb +73 -0
- data/lib/openwfe/participants/participant.rb +85 -0
- data/lib/{ru → openwfe/participants}/participantmap.rb +40 -12
- data/lib/{ru → openwfe/participants}/participants.rb +41 -12
- data/lib/openwfe/participants/soapparticipants.rb +96 -0
- data/lib/{controlclient.rb → openwfe/rest/controlclient.rb} +12 -13
- data/lib/{definitions.rb → openwfe/rest/definitions.rb} +3 -3
- data/lib/{exception.rb → openwfe/rest/exception.rb} +3 -3
- data/lib/{restclient.rb → openwfe/rest/restclient.rb} +13 -22
- data/lib/{worklistclient.rb → openwfe/rest/worklistclient.rb} +33 -46
- data/lib/openwfe/rest/xmlcodec.rb +575 -0
- data/lib/{ru → openwfe}/rudefinitions.rb +32 -4
- data/lib/{ru → openwfe}/service.rb +20 -8
- data/lib/openwfe/storage/yamlfilestorage.rb +159 -0
- data/lib/{ru → openwfe/util}/dollar.rb +10 -8
- data/lib/openwfe/util/lru_cache.rb +149 -0
- data/lib/{ru → openwfe/util}/scheduler.rb +18 -10
- data/lib/{ru → openwfe/util}/schedulers.rb +7 -7
- data/lib/{utils.rb → openwfe/utils.rb} +93 -9
- data/lib/openwfe/workitem.rb +366 -0
- data/lib/openwfe/worklist/worklists.rb +175 -0
- data/test/README.txt +27 -0
- data/test/atomtest.rb +99 -0
- data/test/crontest.rb +58 -0
- data/test/dollartest.rb +3 -3
- data/test/feitest.rb +42 -14
- data/test/file_persistence_test.rb +93 -0
- data/test/flowtestbase.rb +72 -26
- data/test/ft_0.rb +1 -97
- data/test/ft_0b_sequence.rb +33 -0
- data/test/ft_0c_testname.rb +29 -0
- data/test/ft_10_loop.rb +48 -0
- data/test/ft_11_ppd.rb +292 -0
- data/test/ft_12_blockparticipant.rb +45 -0
- data/test/ft_13_eno.rb +51 -0
- data/test/ft_14_subprocess.rb +90 -0
- data/test/ft_14b_subprocess.rb +40 -0
- data/test/ft_15_iterator.rb +70 -0
- data/test/ft_16_fqv.rb +57 -0
- data/test/ft_1_unset.rb +25 -1
- data/test/ft_2_concurrence.rb +10 -5
- data/test/ft_3_equals.rb +35 -1
- data/test/ft_4_misc.rb +16 -1
- data/test/ft_5_time.rb +26 -1
- data/test/ft_6_lambda.rb +2 -1
- data/test/{ft_7_losfor.rb → ft_7_lose.rb} +41 -35
- data/test/ft_8_forget.rb +46 -0
- data/test/ft_9_cursor.rb +94 -0
- data/test/journal_persistence_test.rb +147 -0
- data/test/misctest.rb +13 -9
- data/test/rake_ptest.rb +18 -0
- data/test/rake_qtest.rb +43 -0
- data/test/{fulltest.rb → rake_test.rb} +2 -2
- data/test/raw_prog_test.rb +236 -0
- data/test/rest_test.rb +189 -0
- data/test/rutest_utils.rb +1 -1
- data/test/timetest.rb +42 -34
- metadata +125 -82
- data/lib/codec.rb +0 -573
- data/lib/flowexpressionid.rb +0 -139
- data/lib/ru/expressionpool.rb +0 -382
- data/lib/ru/expressionstorage.rb +0 -99
- data/lib/ru/flowexpression.rb +0 -272
- data/lib/ru/ruutils.rb +0 -70
- data/lib/test.rb +0 -222
- data/lib/workitem.rb +0 -249
- data/test/quicktest.rb +0 -21
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
|
|
2
|
+
require 'test/unit'
|
|
3
|
+
|
|
4
|
+
require 'openwfe/expressions/expressionmap'
|
|
5
|
+
require 'openwfe/expool/expstorage'
|
|
6
|
+
require 'openwfe/expool/yamlexpstorage'
|
|
7
|
+
require 'openwfe/flowexpressionid'
|
|
8
|
+
|
|
9
|
+
include OpenWFE
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FilePersistenceTest < Test::Unit::TestCase
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# test persistence using yaml
|
|
16
|
+
def test_yaml_persistence
|
|
17
|
+
fes = YamlFileExpressionStorage.new("yaml", nil)
|
|
18
|
+
test_persistence(fes)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
#
|
|
22
|
+
# test cache persistence
|
|
23
|
+
def test_cache_persistence
|
|
24
|
+
fes = LruCachedExpressionStorage.new("lru", nil)
|
|
25
|
+
test_persistence(fes)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
#
|
|
29
|
+
# flow expression check
|
|
30
|
+
def test_flow_expression
|
|
31
|
+
fei = new_fei()
|
|
32
|
+
fes = YamlFileExpressionStorage.new("yaml", nil)
|
|
33
|
+
fe = SequenceExpression.new(fei, nil, nil, nil, nil)
|
|
34
|
+
test_persistence(fes,fe)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
#
|
|
38
|
+
# test UTF-8 data persistence
|
|
39
|
+
def test_utf8_with_file
|
|
40
|
+
workflow_definition_name = "みんなにARIGATOU★☆に関する最新の情報公開"
|
|
41
|
+
fei = new_fei(workflow_definition_name)
|
|
42
|
+
fe = SequenceExpression.new(fei, nil, nil, nil, nil)
|
|
43
|
+
fes = YamlFileExpressionStorage.new("yaml", nil)
|
|
44
|
+
|
|
45
|
+
loaded = test_persistence(fes,fe)
|
|
46
|
+
#puts loaded.fei.workflow_definition_name
|
|
47
|
+
assert loaded.fei.workflow_definition_name == fei.workflow_definition_name
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
protected
|
|
52
|
+
|
|
53
|
+
def test_persistence (fes, fe=nil)
|
|
54
|
+
fei = new_fei()
|
|
55
|
+
fes.remove(fei,nil) if(fes.has_key?(fei))
|
|
56
|
+
|
|
57
|
+
raw =
|
|
58
|
+
if fe == nil
|
|
59
|
+
RawExpression.new(fei, 'parent', 'env', nil, nil)
|
|
60
|
+
else
|
|
61
|
+
fe
|
|
62
|
+
end
|
|
63
|
+
assert (not fes.has_key?(fei)), "they key is present in the file system. Maybe a previous test did not delete the "
|
|
64
|
+
|
|
65
|
+
fes[fei]=raw
|
|
66
|
+
assert fes.has_key?(fei)
|
|
67
|
+
|
|
68
|
+
loaded = fes[fei]
|
|
69
|
+
|
|
70
|
+
fes.remove(fei,nil)
|
|
71
|
+
assert !(fes.has_key?(fei))
|
|
72
|
+
return loaded
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def new_fei (definition_name = nil)
|
|
76
|
+
fei = OpenWFE::FlowExpressionId.new()
|
|
77
|
+
fei.owfe_version = OPENWFE_VERSION
|
|
78
|
+
fei.engine_id = 'this'
|
|
79
|
+
fei.initial_engine_id = 'that'
|
|
80
|
+
fei.workflow_definition_url = 'http://test/test.xml'
|
|
81
|
+
fei.workflow_definition_name = if definition_name == nil
|
|
82
|
+
'test'
|
|
83
|
+
else
|
|
84
|
+
definition_name
|
|
85
|
+
end
|
|
86
|
+
fei.workflow_definition_revision = '1.0'
|
|
87
|
+
fei.workflow_instance_id = '1234568'
|
|
88
|
+
fei.expression_name = 'do-test'
|
|
89
|
+
fei.expression_id = '0.0'
|
|
90
|
+
return fei
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end
|
data/test/flowtestbase.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
1
|
#
|
|
3
|
-
# Testing
|
|
2
|
+
# Testing OpenWFE
|
|
4
3
|
#
|
|
5
4
|
# John Mettraux at openwfe.org
|
|
6
5
|
#
|
|
@@ -10,21 +9,40 @@
|
|
|
10
9
|
#
|
|
11
10
|
|
|
12
11
|
require 'test/unit'
|
|
13
|
-
|
|
14
|
-
require '
|
|
15
|
-
require '
|
|
16
|
-
require '
|
|
12
|
+
|
|
13
|
+
require 'openwfe/workitem'
|
|
14
|
+
require 'openwfe/engine/engine'
|
|
15
|
+
require 'openwfe/rudefinitions'
|
|
16
|
+
require 'openwfe/participants/participants'
|
|
17
|
+
|
|
17
18
|
require 'rutest_utils'
|
|
18
19
|
|
|
20
|
+
include OpenWFE
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
$WORKFLOW_ENGINE_CLASS = Engine \
|
|
24
|
+
if not $WORKFLOW_ENGINE_CLASS
|
|
25
|
+
|
|
26
|
+
puts
|
|
27
|
+
puts "testing with engine of class " + $WORKFLOW_ENGINE_CLASS.to_s
|
|
28
|
+
puts
|
|
19
29
|
|
|
20
30
|
class FlowTestBase < Test::Unit::TestCase
|
|
21
31
|
|
|
22
|
-
|
|
23
|
-
|
|
32
|
+
attr_reader \
|
|
33
|
+
:engine, :tracer
|
|
34
|
+
|
|
35
|
+
def setup
|
|
36
|
+
|
|
37
|
+
@engine = $WORKFLOW_ENGINE_CLASS.new()
|
|
38
|
+
|
|
39
|
+
@tracer = Tracer.new
|
|
40
|
+
@engine.application_context["__tracer"] = @tracer
|
|
41
|
+
end
|
|
24
42
|
|
|
25
43
|
#def teardown
|
|
26
44
|
#end
|
|
27
|
-
|
|
45
|
+
|
|
28
46
|
def default_test ()
|
|
29
47
|
assert true
|
|
30
48
|
end
|
|
@@ -34,37 +52,49 @@ class FlowTestBase < Test::Unit::TestCase
|
|
|
34
52
|
def test_name
|
|
35
53
|
s = caller(1)[0]
|
|
36
54
|
i = s.index('`')
|
|
37
|
-
s = s[i+1..s.length-2]
|
|
55
|
+
#s = s[i+1..s.length-2]
|
|
56
|
+
s = s[i+6..s.length-2]
|
|
38
57
|
return s
|
|
39
58
|
end
|
|
40
59
|
|
|
41
|
-
def dotest (flowDef, expectedTrace, sleepTime=0)
|
|
60
|
+
def dotest (flowDef, expectedTrace, sleepTime=0, allowRemainingExpressions=false)
|
|
42
61
|
|
|
43
|
-
engine
|
|
62
|
+
@engine.register_participant('test-.*', PrintParticipant.new())
|
|
44
63
|
|
|
45
|
-
engine.
|
|
64
|
+
@engine.register_participant('block-participant') do |workitem|
|
|
65
|
+
@tracer << "the block participant received a workitem"
|
|
66
|
+
@tracer << "\n"
|
|
67
|
+
end
|
|
46
68
|
|
|
47
|
-
engine.register_participant(
|
|
69
|
+
# @engine.register_participant(
|
|
70
|
+
# 'eno',
|
|
71
|
+
# EmailNotificationParticipant.new(
|
|
72
|
+
# "googlemail.l.google.com",
|
|
73
|
+
# 25,
|
|
74
|
+
# "eno@outoftheblue.co.jp",
|
|
75
|
+
# """Subject: test 0
|
|
76
|
+
#
|
|
77
|
+
#0 : ${r:Time.new}
|
|
78
|
+
#1 : ${f:customer_name}
|
|
79
|
+
# """))
|
|
48
80
|
|
|
49
81
|
# register unique tracing participant
|
|
50
82
|
|
|
51
|
-
li = OpenWFE::LaunchItem.new()
|
|
83
|
+
li = OpenWFE::LaunchItem.new(flowDef)
|
|
52
84
|
|
|
53
|
-
li
|
|
54
|
-
|
|
55
|
-
li.attributes['__definition'] = flowDef
|
|
56
|
-
engine.launch(li)
|
|
85
|
+
@engine.launch(li)
|
|
57
86
|
|
|
58
87
|
sleep(sleepTime)
|
|
59
88
|
|
|
60
|
-
trace =
|
|
89
|
+
trace = @tracer.to_s
|
|
61
90
|
|
|
62
91
|
#puts "...'#{trace}' ?= '#{expectedTrace}'"
|
|
63
92
|
|
|
64
|
-
if expectedTrace.kind_of?
|
|
65
|
-
|
|
93
|
+
if expectedTrace.kind_of? [].class
|
|
94
|
+
|
|
95
|
+
result = false
|
|
66
96
|
expectedTrace.each do |etrace|
|
|
67
|
-
result = result
|
|
97
|
+
result = (result or (trace == etrace))
|
|
68
98
|
end
|
|
69
99
|
assert \
|
|
70
100
|
result,
|
|
@@ -72,13 +102,28 @@ class FlowTestBase < Test::Unit::TestCase
|
|
|
72
102
|
else
|
|
73
103
|
assert \
|
|
74
104
|
trace == expectedTrace, \
|
|
75
|
-
"flow failed :
|
|
105
|
+
"""flow failed :
|
|
106
|
+
|
|
107
|
+
'#{trace}'
|
|
108
|
+
|
|
109
|
+
!=
|
|
110
|
+
|
|
111
|
+
'#{expectedTrace}'
|
|
112
|
+
"""
|
|
76
113
|
end
|
|
77
114
|
|
|
115
|
+
|
|
78
116
|
exp_storage = \
|
|
79
|
-
engine.application_context[
|
|
117
|
+
engine.application_context[S_EXPRESSION_STORAGE]
|
|
118
|
+
|
|
119
|
+
if allowRemainingExpressions
|
|
120
|
+
exp_storage.purge
|
|
121
|
+
return
|
|
122
|
+
end
|
|
80
123
|
|
|
81
124
|
if exp_storage.length != 1
|
|
125
|
+
puts
|
|
126
|
+
puts " remaining expressions : #{exp_storage.length}"
|
|
82
127
|
puts
|
|
83
128
|
puts exp_storage.to_s
|
|
84
129
|
puts
|
|
@@ -86,7 +131,8 @@ class FlowTestBase < Test::Unit::TestCase
|
|
|
86
131
|
|
|
87
132
|
assert \
|
|
88
133
|
exp_storage.length == 1,
|
|
89
|
-
"there are expressions remaining in the expression pool"
|
|
134
|
+
"there are expressions remaining in the expression pool " +
|
|
135
|
+
"(#{exp_storage.length})"
|
|
90
136
|
end
|
|
91
137
|
|
|
92
138
|
end
|
data/test/ft_0.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
#
|
|
3
|
-
# Testing
|
|
3
|
+
# Testing OpenWFE
|
|
4
4
|
#
|
|
5
5
|
# John Mettraux at openwfe.org
|
|
6
6
|
#
|
|
@@ -32,17 +32,6 @@ class FlowTest0 < FlowTestBase
|
|
|
32
32
|
</process-definition>''', "test-alpha")
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
def test_sequence
|
|
36
|
-
dotest(\
|
|
37
|
-
'''<process-definition name="n" revision="0">
|
|
38
|
-
<sequence>
|
|
39
|
-
<print>a</print>
|
|
40
|
-
<print>b</print>
|
|
41
|
-
</sequence>
|
|
42
|
-
</process-definition>''', '''a
|
|
43
|
-
b''')
|
|
44
|
-
end
|
|
45
|
-
|
|
46
35
|
def test_dollar_notation_0
|
|
47
36
|
dotest(\
|
|
48
37
|
'''<process-definition name="n" revision="0">
|
|
@@ -72,90 +61,5 @@ b''')
|
|
|
72
61
|
</process-definition>''', 'X')
|
|
73
62
|
end
|
|
74
63
|
|
|
75
|
-
def test_subprocess_ref_0
|
|
76
|
-
dotest(\
|
|
77
|
-
'''<process-definition name="subtest0" revision="0">
|
|
78
|
-
|
|
79
|
-
<subprocess ref="sub0" />
|
|
80
|
-
|
|
81
|
-
<process-definition name="sub0">
|
|
82
|
-
<print>ok</print>
|
|
83
|
-
</process-definition>
|
|
84
|
-
|
|
85
|
-
</process-definition>''', 'ok')
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def test_subprocess_ref_1
|
|
89
|
-
dotest(\
|
|
90
|
-
'''<process-definition name="subtest0" revision="0">
|
|
91
|
-
|
|
92
|
-
<sequence>
|
|
93
|
-
<subprocess ref="sub0" />
|
|
94
|
-
<subprocess ref="sub0" />
|
|
95
|
-
</sequence>
|
|
96
|
-
|
|
97
|
-
<process-definition name="sub0">
|
|
98
|
-
<print>ok</print>
|
|
99
|
-
</process-definition>
|
|
100
|
-
|
|
101
|
-
</process-definition>''', '''ok
|
|
102
|
-
ok''')
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def test_subprocess_ref_2
|
|
106
|
-
dotest(\
|
|
107
|
-
'''<process-definition name="subtest0" revision="0">
|
|
108
|
-
|
|
109
|
-
<sequence>
|
|
110
|
-
<sub0 />
|
|
111
|
-
<print>after</print>
|
|
112
|
-
</sequence>
|
|
113
|
-
|
|
114
|
-
<process-definition name="sub0">
|
|
115
|
-
<print>ok</print>
|
|
116
|
-
</process-definition>
|
|
117
|
-
|
|
118
|
-
</process-definition>''', '''ok
|
|
119
|
-
after''')
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def test_subprocess_ref_3
|
|
123
|
-
dotest(\
|
|
124
|
-
'''<process-definition name="subtest0" revision="0">
|
|
125
|
-
|
|
126
|
-
<sequence>
|
|
127
|
-
<set variable="v" value="out" />
|
|
128
|
-
<sub0 />
|
|
129
|
-
<print>after : ${v}</print>
|
|
130
|
-
</sequence>
|
|
131
|
-
|
|
132
|
-
<process-definition name="sub0">
|
|
133
|
-
<sequence>
|
|
134
|
-
<set variable="v" value="in" />
|
|
135
|
-
<print>ok : ${v}</print>
|
|
136
|
-
</sequence>
|
|
137
|
-
</process-definition>
|
|
138
|
-
|
|
139
|
-
</process-definition>''', '''ok : in
|
|
140
|
-
after : out''')
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
def test_subprocess_ref_4
|
|
144
|
-
dotest(\
|
|
145
|
-
'''<process-definition name="subtest0" revision="0">
|
|
146
|
-
|
|
147
|
-
<sequence>
|
|
148
|
-
<subprocess ref="sub0" a="A" b="B" c="C" />
|
|
149
|
-
<sub0 a="A" b="B" c="C" />
|
|
150
|
-
</sequence>
|
|
151
|
-
|
|
152
|
-
<process-definition name="sub0">
|
|
153
|
-
<print>${a}${b}${c}</print>
|
|
154
|
-
</process-definition>
|
|
155
|
-
|
|
156
|
-
</process-definition>''', '''ABC
|
|
157
|
-
ABC''')
|
|
158
|
-
end
|
|
159
|
-
|
|
160
64
|
end
|
|
161
65
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Mon Oct 9 22:19:44 JST 2006
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'flowtestbase'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlowTest0 < FlowTestBase
|
|
14
|
+
|
|
15
|
+
#def setup
|
|
16
|
+
#end
|
|
17
|
+
|
|
18
|
+
#def teardown
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
def test_sequence
|
|
22
|
+
dotest(\
|
|
23
|
+
'''<process-definition name="n" revision="0">
|
|
24
|
+
<sequence>
|
|
25
|
+
<print>a</print>
|
|
26
|
+
<print>b</print>
|
|
27
|
+
</sequence>
|
|
28
|
+
</process-definition>''', '''a
|
|
29
|
+
b''')
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Mon Dec 25 14:27:48 JST 2006
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'flowtestbase'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class TestTestName < FlowTestBase
|
|
14
|
+
|
|
15
|
+
#def setup
|
|
16
|
+
#end
|
|
17
|
+
|
|
18
|
+
#def teardown
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
def test_test_name
|
|
22
|
+
dotest(\
|
|
23
|
+
"""<process-definition name='#{test_name}' revision='0'>
|
|
24
|
+
<print>#{test_name}</print>
|
|
25
|
+
</process-definition>""", "test_name")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
data/test/ft_10_loop.rb
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
|
|
2
|
+
#
|
|
3
|
+
# Testing OpenWFE
|
|
4
|
+
#
|
|
5
|
+
# John Mettraux at openwfe.org
|
|
6
|
+
#
|
|
7
|
+
# Tue Jan 2 13:14:37 JST 2007
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'flowtestbase'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FlowTest10 < FlowTestBase
|
|
14
|
+
|
|
15
|
+
#def setup
|
|
16
|
+
#end
|
|
17
|
+
|
|
18
|
+
#def teardown
|
|
19
|
+
#end
|
|
20
|
+
|
|
21
|
+
def test_loop_0
|
|
22
|
+
|
|
23
|
+
s = ""
|
|
24
|
+
0.upto(9) do |i|
|
|
25
|
+
s << i.to_s
|
|
26
|
+
s << "\n"
|
|
27
|
+
end
|
|
28
|
+
s = s.strip()
|
|
29
|
+
|
|
30
|
+
dotest(\
|
|
31
|
+
'<process-definition name="'+test_name+'''" revision="0">
|
|
32
|
+
<sequence>
|
|
33
|
+
<reval>$i = 0</reval>
|
|
34
|
+
<loop>
|
|
35
|
+
<print>${r:$i}</print>
|
|
36
|
+
<reval>$i = $i + 1</reval>
|
|
37
|
+
<if>
|
|
38
|
+
<equals value="${r:$i}" other-value="10" />
|
|
39
|
+
<break/>
|
|
40
|
+
</if>
|
|
41
|
+
</loop>
|
|
42
|
+
</sequence>
|
|
43
|
+
</process-definition>''',
|
|
44
|
+
s)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
|