greenpepper-ruby 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/greenpepperize +71 -0
- data/bin/greenpepperrails +33 -0
- data/bin/greenpepperruby +15 -0
- data/data/greenpepper.rake +37 -0
- data/data/helper.rb +32 -0
- data/data/tags +6 -0
- data/lib/greenpepper/argumentparser.rb +161 -0
- data/lib/greenpepper/common/loadpath.rb +7 -0
- data/lib/greenpepper/context/htmlcontext.rb +26 -0
- data/lib/greenpepper/converter.rb +347 -0
- data/lib/greenpepper/core.rb +152 -0
- data/lib/greenpepper/example/collectionexample.rb +305 -0
- data/lib/greenpepper/example/dowithexample.rb +192 -0
- data/lib/greenpepper/example/exampleheader.rb +41 -0
- data/lib/greenpepper/example/examplewithfixture.rb +73 -0
- data/lib/greenpepper/example/executionresults.rb +160 -0
- data/lib/greenpepper/example/fieldaccessor.rb +36 -0
- data/lib/greenpepper/example/freetextexample.rb +51 -0
- data/lib/greenpepper/example/importexample.rb +39 -0
- data/lib/greenpepper/example/nameresolver.rb +69 -0
- data/lib/greenpepper/example/ruleforexample.rb +117 -0
- data/lib/greenpepper/example/setupexample.rb +79 -0
- data/lib/greenpepper/example/silentexample.rb +14 -0
- data/lib/greenpepper/example/unknownexample.rb +17 -0
- data/lib/greenpepper/exception/greenpepperexception.rb +57 -0
- data/lib/greenpepper/executionunit.rb +39 -0
- data/lib/greenpepper/factory/collectionexamplefactory.rb +59 -0
- data/lib/greenpepper/factory/dowithexamplefactory.rb +71 -0
- data/lib/greenpepper/factory/examplefactory.rb +14 -0
- data/lib/greenpepper/factory/freetextexamplefactory.rb +29 -0
- data/lib/greenpepper/factory/htmlexamplefactory.rb +49 -0
- data/lib/greenpepper/factory/importexamplefactory.rb +27 -0
- data/lib/greenpepper/factory/ruleforexamplefactory.rb +46 -0
- data/lib/greenpepper/factory/setupexamplefactory.rb +31 -0
- data/lib/greenpepper/factory/silentexamplefactory.rb +21 -0
- data/lib/greenpepper/factory/unknownexamplefactory.rb +16 -0
- data/lib/greenpepper/freetext.rb +164 -0
- data/lib/greenpepper/grammar/array.treetop +51 -0
- data/lib/greenpepper/grammar/arrayparser.rb +14 -0
- data/lib/greenpepper/greenpepperconfig.rb +19 -0
- data/lib/greenpepper/greenpeppertask.rb +60 -0
- data/lib/greenpepper/logger.rb +45 -0
- data/lib/greenpepper/parser/freetextparser.rb +96 -0
- data/lib/greenpepper/parser/htmlparser.rb +70 -0
- data/lib/greenpepper/parser/scenario.rb +25 -0
- data/lib/greenpepper/parser/table.rb +37 -0
- data/lib/greenpepper/parser/wikiparser.rb +26 -0
- data/lib/greenpepper/pass/freetextpass.rb +24 -0
- data/lib/greenpepper/pass/greenpepperpass.rb +92 -0
- data/lib/greenpepper/pass/tablepass.rb +38 -0
- data/lib/greenpepper/railsargumentparser.rb +46 -0
- data/lib/greenpepper/redpeppertask.rb +89 -0
- data/lib/greenpepper/repository/atlassianrepository.rb +100 -0
- data/lib/greenpepper/writer/consolewriter.rb +21 -0
- data/lib/greenpepper/writer/freetextresult.rb +233 -0
- data/lib/greenpepper/writer/freetextwriter.rb +44 -0
- data/lib/greenpepper/writer/html.rb +14 -0
- data/lib/greenpepper/writer/htmldocwriter.rb +82 -0
- data/lib/greenpepper/writer/htmlresult.rb +192 -0
- data/lib/greenpepper/writer/htmlwriter.rb +112 -0
- data/lib/greenpepper/writer/output.rb +26 -0
- data/lib/greenpepper/writer/result.rb +35 -0
- data/lib/greenpepper/writer/xmlwriter.rb +32 -0
- data/test/coreseedstest.rb +39 -0
- data/test/greenpepper/argumentparsertest.rb +162 -0
- data/test/greenpepper/common/loadpathtest.rb +24 -0
- data/test/greenpepper/common/stattest.rb +186 -0
- data/test/greenpepper/convertertest.rb +371 -0
- data/test/greenpepper/coretest.rb +159 -0
- data/test/greenpepper/example/collectionexampletest.rb +484 -0
- data/test/greenpepper/example/dowithexampletest.rb +148 -0
- data/test/greenpepper/example/exampletest.rb +28 -0
- data/test/greenpepper/example/freetextexampletest.rb +151 -0
- data/test/greenpepper/example/importexampletest.rb +79 -0
- data/test/greenpepper/example/nameresolvertest.rb +56 -0
- data/test/greenpepper/example/ruleforexampletest.rb +225 -0
- data/test/greenpepper/example/setupexampletest.rb +140 -0
- data/test/greenpepper/example/silentexampletest.rb +17 -0
- data/test/greenpepper/example/unknownexampletest.rb +17 -0
- data/test/greenpepper/factory/collectionexamplefactorytest.rb +51 -0
- data/test/greenpepper/factory/dowithexamplefactorytest.rb +48 -0
- data/test/greenpepper/factory/examplefactorytest.rb +88 -0
- data/test/greenpepper/factory/freetextexamplefactorytest.rb +54 -0
- data/test/greenpepper/factory/importexamplefactorytest.rb +40 -0
- data/test/greenpepper/factory/ruleforexamplefactorytest.rb +55 -0
- data/test/greenpepper/factory/setupexamplefactorytest.rb +29 -0
- data/test/greenpepper/factory/silentexamplefactorytest.rb +38 -0
- data/test/greenpepper/freetexttest.rb +222 -0
- data/test/greenpepper/grammar/arrayparsertest.rb +45 -0
- data/test/greenpepper/loggertest.rb +26 -0
- data/test/greenpepper/parser/freetextparsertest.rb +124 -0
- data/test/greenpepper/parser/htmlparsertest.rb +77 -0
- data/test/greenpepper/parser/wikiparsertest.rb +21 -0
- data/test/greenpepper/pass/freetextpasstest.rb +54 -0
- data/test/greenpepper/pass/greenpepperpasstest.rb +47 -0
- data/test/greenpepper/pass/tablepasstest.rb +23 -0
- data/test/greenpepper/repository/atlassionrepositorytest.rb +85 -0
- data/test/greenpepper/writer/freetextwritertest.rb +301 -0
- data/test/greenpepper/writer/htmlcollectionwritertest.rb +145 -0
- data/test/greenpepper/writer/htmldowithwritertest.rb +87 -0
- data/test/greenpepper/writer/htmlruleforwritertest.rb +147 -0
- data/test/greenpepper/writer/htmlsetupwritertest.rb +107 -0
- data/test/greenpepper/writer/htmlstatresulttest.rb +118 -0
- data/test/greenpepper/writer/htmlwriterpositiontest.rb +53 -0
- data/test/greenpepper/writer/writertest.rb +33 -0
- data/test/greenpepper/writer/xmlwritertest.rb +34 -0
- data/test/integration/collectionexampleintegrationtest.rb +64 -0
- data/test/integration/errorhandlingintegrationtest.rb +68 -0
- data/test/integration/freetextexampleintegrationtest.rb +75 -0
- data/test/integration/greenpepperexecutableintegrationtest.rb +22 -0
- data/test/integration/importexampleintegrationtest.rb +41 -0
- data/test/integration/interpretationordertest.rb +48 -0
- data/test/integration/ruleforexampleintegrationtest.rb +102 -0
- data/test/integration/securityintegrationtest.rb +30 -0
- data/test/integration/setupexampleintegrationtest.rb +31 -0
- data/test/integration/silentexampleintegrationtest.rb +29 -0
- data/test/task/greenpeppertasktest.rb +96 -0
- data/test/task/redpeppertasktest.rb +120 -0
- data/vendor/accents.rb +85 -0
- metadata +234 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
=begin
|
2
|
+
author: Alexandre Mathieu (alex.mathieu@gmail.com)
|
3
|
+
date: March 19th 2009
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'greenpepper/example/ruleforexample'
|
7
|
+
require 'greenpepper/writer/htmlwriter'
|
8
|
+
require 'greenpepper/writer/xmlwriter'
|
9
|
+
require 'test/fixtures/fixture'
|
10
|
+
require 'test/helper/assertion'
|
11
|
+
require 'test/helper/html'
|
12
|
+
|
13
|
+
include GreenPepper
|
14
|
+
|
15
|
+
class XmlWriterTest < Test::Unit::TestCase
|
16
|
+
def test_basic_xml_output
|
17
|
+
base_html = "<table><tr><td>Rule for</td><td>RuleForExampleEqualityPlusOneFixture</td></tr>"
|
18
|
+
base_html += "<tr><td>value</td><td>equality</td></tr>"
|
19
|
+
base_html += "<tr><td>3</td><td>4</td></tr></table>"
|
20
|
+
|
21
|
+
ex_header = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><documents><document><statistics><success>1</success><failure>0</failure><error>0</error><ignored>0</ignored></statistics><results><![CDATA["
|
22
|
+
ex_end = "]]></results></document></documents>"
|
23
|
+
expected = ex_header + base_html + ex_end
|
24
|
+
|
25
|
+
results = HtmlTableExecutionResults.new
|
26
|
+
results.add 0, 0, SuccessExampleResult.new
|
27
|
+
|
28
|
+
xml_writer = XmlWriter.new base_html
|
29
|
+
xml_writer.write_results [results]
|
30
|
+
|
31
|
+
assert_equal HtmlHelper.remove_indent(expected),
|
32
|
+
HtmlHelper.remove_indent(xml_writer.output)
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'test/helper/assertion'
|
2
|
+
require 'greenpepper/core'
|
3
|
+
require 'test/fixtures/collectionfixture'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
include GreenPepper
|
7
|
+
|
8
|
+
class CollectionExampleIntegrationTest < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@core = GreenPepperCore.new
|
12
|
+
#Disable console output
|
13
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def tear_down
|
17
|
+
$stdout = @old_stdout
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_list_of_surplus_missing_expected
|
21
|
+
|
22
|
+
args = ["test/seeds/collection/list_of_example_integration.html",
|
23
|
+
"test/results/collection/list_of_example_integration_output.html"]
|
24
|
+
@core.run args
|
25
|
+
|
26
|
+
assert_file_equal 'test/expected/collection/list_of_example_integration_output.html',args[1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_set_of_missing_surplus_order
|
30
|
+
|
31
|
+
args = ["test/seeds/collection/set_of_example_integration.html",
|
32
|
+
"test/results/collection/set_of_example_integration_output.html"]
|
33
|
+
@core.run args
|
34
|
+
|
35
|
+
assert_file_equal 'test/expected/collection/set_of_example_integration_output.html',args[1]
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_subset_of_missing_order
|
39
|
+
|
40
|
+
args = ["test/seeds/collection/subset_of_example_integration.html",
|
41
|
+
"test/results/collection/subset_of_example_integration_output.html"]
|
42
|
+
@core.run args
|
43
|
+
|
44
|
+
assert_file_equal 'test/expected/collection/subset_of_example_integration_output.html',args[1]
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_superset_of_surplus_order
|
48
|
+
|
49
|
+
args = ["test/seeds/collection/superset_of_example_integration.html",
|
50
|
+
"test/results/collection/superset_of_example_integration_output.html"]
|
51
|
+
@core.run args
|
52
|
+
|
53
|
+
assert_file_equal 'test/expected/collection/superset_of_example_integration_output.html',args[1]
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_listof_fixture_without_query
|
57
|
+
args = ["test/seeds/collection/listof_noquery.html",
|
58
|
+
"test/results/collection/listof_noquery.html"]
|
59
|
+
@core.run args
|
60
|
+
|
61
|
+
assert_file_equal 'test/expected/collection/listof_noquery.html',
|
62
|
+
args[1]
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
=begin
|
2
|
+
Author: Simon Mathieu (simon.math@gmail.com)
|
3
|
+
Date: March 30, 2009
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'test/helper/assertion'
|
7
|
+
require 'greenpepper/core'
|
8
|
+
|
9
|
+
include GreenPepper
|
10
|
+
|
11
|
+
class ErrorHandlingIntegrationTest < Test::Unit::TestCase
|
12
|
+
def setup
|
13
|
+
#Disable console output
|
14
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
15
|
+
|
16
|
+
@errs = StringIO.new
|
17
|
+
@log = Logger.new @errs
|
18
|
+
@core = GreenPepperCore.new @log
|
19
|
+
end
|
20
|
+
|
21
|
+
def teardown
|
22
|
+
$stdout = @old_stdout
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_pushing_malformed_html_input_file
|
26
|
+
args = ['test/seeds/malformed_input.html',
|
27
|
+
'test/results/malformed_output.html']
|
28
|
+
|
29
|
+
expected = "Missing at least one cell on line 1: Header has 3 cells while current row has 2\n"
|
30
|
+
|
31
|
+
res = @core.run args
|
32
|
+
@errs.rewind
|
33
|
+
|
34
|
+
assert_equal expected, @errs.gets
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_no_fixture_provided
|
38
|
+
args = ['test/seeds/malformed_no_fixture_provided.html',
|
39
|
+
'test/results/malformed_no_fixture_provided_output.html']
|
40
|
+
|
41
|
+
expected = "No fixture name provided\n"
|
42
|
+
|
43
|
+
res = @core.run args
|
44
|
+
@errs.rewind
|
45
|
+
|
46
|
+
assert_equal expected, @errs.gets
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_pushing_junk_tests
|
50
|
+
args = ['test/seeds/junk.html']
|
51
|
+
|
52
|
+
expected = "An error occured while using LibXML : Invalid element at " +
|
53
|
+
"test/seeds/junk.html:28\n"
|
54
|
+
|
55
|
+
res = @core.run args
|
56
|
+
@errs.rewind
|
57
|
+
|
58
|
+
assert_equal expected, @errs.gets
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_empty_seed_should_still_work
|
62
|
+
args = ['test/seeds/empty_seed.html',
|
63
|
+
'test/results/empty_seed.html']
|
64
|
+
res = @core.run args
|
65
|
+
assert_file_equal 'test/expected/empty_seed.html',
|
66
|
+
args[1]
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
=begin
|
2
|
+
author: Simon Mathieu (simon.math@gmail.com)
|
3
|
+
date: September 13, 2009
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
require 'test/helper/assertion'
|
8
|
+
require 'greenpepper/core'
|
9
|
+
require 'greenpepper/freetext'
|
10
|
+
require 'greenpepper/example/freetextexample'
|
11
|
+
require 'test/fixtures/fixture'
|
12
|
+
|
13
|
+
include GreenPepper
|
14
|
+
|
15
|
+
class FreeTextIntegrationTest < Test::Unit::TestCase
|
16
|
+
def setup
|
17
|
+
@core = GreenPepperCore.new
|
18
|
+
#Disable console output
|
19
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
20
|
+
end
|
21
|
+
|
22
|
+
def teardown
|
23
|
+
$stdout = @old_stdout
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_freetext_integration
|
27
|
+
args = ["test/seeds/freetext_integration.html",
|
28
|
+
"test/results/freetext_integration.html"]
|
29
|
+
@core.run args
|
30
|
+
|
31
|
+
assert_file_equal 'test/expected/freetext_integration.html',
|
32
|
+
args[1]
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_freetext_with_all_keywords
|
36
|
+
args = ["test/seeds/freetext_all_keywords.html",
|
37
|
+
"test/results/freetext_all_keywords.html"]
|
38
|
+
@core.run args
|
39
|
+
|
40
|
+
assert_file_equal 'test/expected/freetext_all_keywords.html', args[1]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class FreeTextKeywordsTestFixture
|
45
|
+
include FreeText
|
46
|
+
attr_accessor :value1, :value2
|
47
|
+
|
48
|
+
def initialize
|
49
|
+
@value1 = 0
|
50
|
+
@value2 = 0
|
51
|
+
end
|
52
|
+
|
53
|
+
Given /given_integration value1 = (.*)./ do |arg1|
|
54
|
+
@value1 = arg1
|
55
|
+
end
|
56
|
+
|
57
|
+
When /when_integration value2 = (.*)./ do |arg1|
|
58
|
+
@value2 = arg1
|
59
|
+
end
|
60
|
+
|
61
|
+
Check /check_integration value1 = (.*)./ do |arg1|
|
62
|
+
@value1 == arg1
|
63
|
+
end
|
64
|
+
|
65
|
+
Ask /ask_integration for (.*)./ do |arg1|
|
66
|
+
self.instance_variable_get("@#{arg1}")
|
67
|
+
end
|
68
|
+
|
69
|
+
Then /then_integration value3 is (.*) and value4 is (.*)./ do |arg1, arg2|
|
70
|
+
@arg1 = arg1
|
71
|
+
@arg2 = arg2
|
72
|
+
arg1.received = 3
|
73
|
+
arg2.received = 5
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
=begin
|
2
|
+
Basic test to see if the integration server works.
|
3
|
+
Author: Simon Mathieu (simon.math@gmail.com)
|
4
|
+
=end
|
5
|
+
|
6
|
+
|
7
|
+
require 'test/unit'
|
8
|
+
require 'test/helper/assertion'
|
9
|
+
require 'stringio'
|
10
|
+
|
11
|
+
class GreenPepperExecutableIntegrationTest < Test::Unit::TestCase
|
12
|
+
def test_greenpepper_executable_with_all_supported_features
|
13
|
+
args = ["test/seeds/all_features.html",
|
14
|
+
"test/results/all_features.xml",
|
15
|
+
"--xml"]
|
16
|
+
|
17
|
+
`ruby bin/greenpepperruby #{args.join(" ")}`
|
18
|
+
|
19
|
+
assert_file_equal 'test/expected/all_features.xml',
|
20
|
+
args[1]
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
=begin
|
2
|
+
author: Simon Mathieu (simon.math@gmail.com)
|
3
|
+
date: September 8, 2009
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'test/helper/assertion'
|
7
|
+
require 'greenpepper/core'
|
8
|
+
require 'stringio'
|
9
|
+
|
10
|
+
include GreenPepper
|
11
|
+
|
12
|
+
class ImportExampleIntegrationTest < Test::Unit::TestCase
|
13
|
+
|
14
|
+
def setup
|
15
|
+
@core = GreenPepperCore.new
|
16
|
+
#Disable console output
|
17
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
18
|
+
end
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
$stdout = @old_stdout
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_import_integration_with_td
|
25
|
+
args = ["test/seeds/import_and_two_rule_for.html",
|
26
|
+
"test/results/import_integration_with_td.html"]
|
27
|
+
|
28
|
+
@core.run args
|
29
|
+
|
30
|
+
assert_file_equal 'test/expected/import_integration_with_td.html', args[1]
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_import_integration_with_th
|
34
|
+
args = ["test/seeds/import_and_two_rule_for_th.html",
|
35
|
+
"test/results/import_integration_with_th.html"]
|
36
|
+
|
37
|
+
@core.run args
|
38
|
+
|
39
|
+
assert_file_equal 'test/expected/import_integration_with_th.html', args[1]
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'test/helper/assertion'
|
2
|
+
require 'stringio'
|
3
|
+
require 'test/unit'
|
4
|
+
require 'greenpepper/core'
|
5
|
+
require 'greenpepper/freetext'
|
6
|
+
require 'greenpepper/example/freetextexample'
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
include GreenPepper
|
11
|
+
|
12
|
+
class InterpretationOrderFixture
|
13
|
+
include FreeText
|
14
|
+
attr_accessor :value
|
15
|
+
|
16
|
+
def enter_row
|
17
|
+
$global_order_interpretation_val = @value
|
18
|
+
true
|
19
|
+
end
|
20
|
+
|
21
|
+
Check /Value in the setup is ([\d])\./ do |arg1|
|
22
|
+
$global_order_interpretation_val == arg1
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class OrderIntegrationTest < Test::Unit::TestCase
|
27
|
+
def setup
|
28
|
+
@core = GreenPepperCore.new
|
29
|
+
#Disable console output
|
30
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
31
|
+
end
|
32
|
+
|
33
|
+
def teardown
|
34
|
+
$stdout = @old_stdout
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_order_integration
|
38
|
+
|
39
|
+
args = ["test/seeds/interpretation_order.html",
|
40
|
+
"test/results/interpretation_order.html",
|
41
|
+
"--no-exception-stack"]
|
42
|
+
|
43
|
+
@core.run args
|
44
|
+
|
45
|
+
assert_file_equal 'test/expected/interpretation_order.html', args[1]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'test/helper/assertion'
|
2
|
+
require 'greenpepper/core'
|
3
|
+
require 'test/fixtures/fixture'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
include GreenPepper
|
7
|
+
|
8
|
+
class RuleForExampleIntegrationTest < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@core = GreenPepperCore.new
|
12
|
+
#Disable console output
|
13
|
+
@old_stdout, $stdout = $stdout, StringIO.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def teardown
|
17
|
+
$stdout = @old_stdout
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_rule_for_input
|
21
|
+
args = ["test/seeds/calculator_add.html",
|
22
|
+
"test/results/calculator_add_output.html"]
|
23
|
+
@core.run args
|
24
|
+
|
25
|
+
assert_file_equal 'test/expected/calculator_add_output.html',
|
26
|
+
args[1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_integration_rule_for_n_input_n_output_unordered_default_arguments
|
30
|
+
args = ["test/seeds/calculator_n_in_n_out.html",
|
31
|
+
"test/results/calculator_add_n_in_n_out_unordered_args_output.html"]
|
32
|
+
|
33
|
+
@core.run args
|
34
|
+
|
35
|
+
assert_file_equal 'test/expected/calculator_add_n_in_n_out_unordered_args_output.html',
|
36
|
+
args[1]
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_rule_for_example_non_existing_fixture_and_fixture_cell_is_yellow_with_td
|
40
|
+
args = ["test/seeds/non_existing_fixture.html",
|
41
|
+
"test/results/non_existing_fixture_output_td.html"]
|
42
|
+
|
43
|
+
res = @core.run args
|
44
|
+
|
45
|
+
assert_file_equal 'test/expected/non_existing_fixture_output_td.html',
|
46
|
+
args[1]
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_rule_for_example_non_existing_fixture_and_fixture_cell_is_yellow_with_th
|
50
|
+
args = ["test/seeds/non_existing_fixture_th.html",
|
51
|
+
"test/results/non_existing_fixture_output.html"]
|
52
|
+
|
53
|
+
res = @core.run args
|
54
|
+
|
55
|
+
assert_file_equal 'test/expected/non_existing_fixture_output.html',
|
56
|
+
args[1]
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_rule_for_input_with_natural_language_fixture_name
|
60
|
+
args = ["test/seeds/natural_language.html",
|
61
|
+
"test/results/natural_language_output.html"]
|
62
|
+
@core.run args
|
63
|
+
|
64
|
+
assert_file_equal 'test/expected/natural_language_output.html',
|
65
|
+
args[1]
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
def test_rule_for_with_no_expected_results_specified
|
70
|
+
args = ["test/seeds/calculator_no_expected_results.html",
|
71
|
+
'test/results/calculator_no_expected_results_output.html']
|
72
|
+
@core.run args
|
73
|
+
|
74
|
+
assert_file_equal 'test/expected/calculator_no_expected_results_output.html',
|
75
|
+
args[1]
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_rule_for_with_arguments
|
79
|
+
args = ['test/seeds/rule_for_with_args.html',
|
80
|
+
'test/results/rule_for_with_args_output.html']
|
81
|
+
@core.run args
|
82
|
+
|
83
|
+
assert_file_equal 'test/expected/rule_for_with_args_output.html',
|
84
|
+
args[1]
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_rule_for_expected_result_is_error
|
88
|
+
args = ['test/seeds/rule_for_expected_error.html',
|
89
|
+
'test/results/rule_for_expected_error_output.html']
|
90
|
+
@core.run args
|
91
|
+
assert_file_equal 'test/expected/rule_for_expected_error_output.html',
|
92
|
+
args[1]
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_rule_for_no_expected_server_bug
|
96
|
+
args = ['test/seeds/rulefor_no_expected_server_bug.html',
|
97
|
+
'test/results/rulefor_no_expected_server_bug.html']
|
98
|
+
@core.run args
|
99
|
+
assert_file_equal 'test/expected/rulefor_no_expected_server_bug.html',
|
100
|
+
args[1]
|
101
|
+
end
|
102
|
+
end
|