greenpepper-ruby 0.0.1
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/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
|