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.
Files changed (120) hide show
  1. data/bin/greenpepperize +71 -0
  2. data/bin/greenpepperrails +33 -0
  3. data/bin/greenpepperruby +15 -0
  4. data/data/greenpepper.rake +37 -0
  5. data/data/helper.rb +32 -0
  6. data/data/tags +6 -0
  7. data/lib/greenpepper/argumentparser.rb +161 -0
  8. data/lib/greenpepper/common/loadpath.rb +7 -0
  9. data/lib/greenpepper/context/htmlcontext.rb +26 -0
  10. data/lib/greenpepper/converter.rb +347 -0
  11. data/lib/greenpepper/core.rb +152 -0
  12. data/lib/greenpepper/example/collectionexample.rb +305 -0
  13. data/lib/greenpepper/example/dowithexample.rb +192 -0
  14. data/lib/greenpepper/example/exampleheader.rb +41 -0
  15. data/lib/greenpepper/example/examplewithfixture.rb +73 -0
  16. data/lib/greenpepper/example/executionresults.rb +160 -0
  17. data/lib/greenpepper/example/fieldaccessor.rb +36 -0
  18. data/lib/greenpepper/example/freetextexample.rb +51 -0
  19. data/lib/greenpepper/example/importexample.rb +39 -0
  20. data/lib/greenpepper/example/nameresolver.rb +69 -0
  21. data/lib/greenpepper/example/ruleforexample.rb +117 -0
  22. data/lib/greenpepper/example/setupexample.rb +79 -0
  23. data/lib/greenpepper/example/silentexample.rb +14 -0
  24. data/lib/greenpepper/example/unknownexample.rb +17 -0
  25. data/lib/greenpepper/exception/greenpepperexception.rb +57 -0
  26. data/lib/greenpepper/executionunit.rb +39 -0
  27. data/lib/greenpepper/factory/collectionexamplefactory.rb +59 -0
  28. data/lib/greenpepper/factory/dowithexamplefactory.rb +71 -0
  29. data/lib/greenpepper/factory/examplefactory.rb +14 -0
  30. data/lib/greenpepper/factory/freetextexamplefactory.rb +29 -0
  31. data/lib/greenpepper/factory/htmlexamplefactory.rb +49 -0
  32. data/lib/greenpepper/factory/importexamplefactory.rb +27 -0
  33. data/lib/greenpepper/factory/ruleforexamplefactory.rb +46 -0
  34. data/lib/greenpepper/factory/setupexamplefactory.rb +31 -0
  35. data/lib/greenpepper/factory/silentexamplefactory.rb +21 -0
  36. data/lib/greenpepper/factory/unknownexamplefactory.rb +16 -0
  37. data/lib/greenpepper/freetext.rb +164 -0
  38. data/lib/greenpepper/grammar/array.treetop +51 -0
  39. data/lib/greenpepper/grammar/arrayparser.rb +14 -0
  40. data/lib/greenpepper/greenpepperconfig.rb +19 -0
  41. data/lib/greenpepper/greenpeppertask.rb +60 -0
  42. data/lib/greenpepper/logger.rb +45 -0
  43. data/lib/greenpepper/parser/freetextparser.rb +96 -0
  44. data/lib/greenpepper/parser/htmlparser.rb +70 -0
  45. data/lib/greenpepper/parser/scenario.rb +25 -0
  46. data/lib/greenpepper/parser/table.rb +37 -0
  47. data/lib/greenpepper/parser/wikiparser.rb +26 -0
  48. data/lib/greenpepper/pass/freetextpass.rb +24 -0
  49. data/lib/greenpepper/pass/greenpepperpass.rb +92 -0
  50. data/lib/greenpepper/pass/tablepass.rb +38 -0
  51. data/lib/greenpepper/railsargumentparser.rb +46 -0
  52. data/lib/greenpepper/redpeppertask.rb +89 -0
  53. data/lib/greenpepper/repository/atlassianrepository.rb +100 -0
  54. data/lib/greenpepper/writer/consolewriter.rb +21 -0
  55. data/lib/greenpepper/writer/freetextresult.rb +233 -0
  56. data/lib/greenpepper/writer/freetextwriter.rb +44 -0
  57. data/lib/greenpepper/writer/html.rb +14 -0
  58. data/lib/greenpepper/writer/htmldocwriter.rb +82 -0
  59. data/lib/greenpepper/writer/htmlresult.rb +192 -0
  60. data/lib/greenpepper/writer/htmlwriter.rb +112 -0
  61. data/lib/greenpepper/writer/output.rb +26 -0
  62. data/lib/greenpepper/writer/result.rb +35 -0
  63. data/lib/greenpepper/writer/xmlwriter.rb +32 -0
  64. data/test/coreseedstest.rb +39 -0
  65. data/test/greenpepper/argumentparsertest.rb +162 -0
  66. data/test/greenpepper/common/loadpathtest.rb +24 -0
  67. data/test/greenpepper/common/stattest.rb +186 -0
  68. data/test/greenpepper/convertertest.rb +371 -0
  69. data/test/greenpepper/coretest.rb +159 -0
  70. data/test/greenpepper/example/collectionexampletest.rb +484 -0
  71. data/test/greenpepper/example/dowithexampletest.rb +148 -0
  72. data/test/greenpepper/example/exampletest.rb +28 -0
  73. data/test/greenpepper/example/freetextexampletest.rb +151 -0
  74. data/test/greenpepper/example/importexampletest.rb +79 -0
  75. data/test/greenpepper/example/nameresolvertest.rb +56 -0
  76. data/test/greenpepper/example/ruleforexampletest.rb +225 -0
  77. data/test/greenpepper/example/setupexampletest.rb +140 -0
  78. data/test/greenpepper/example/silentexampletest.rb +17 -0
  79. data/test/greenpepper/example/unknownexampletest.rb +17 -0
  80. data/test/greenpepper/factory/collectionexamplefactorytest.rb +51 -0
  81. data/test/greenpepper/factory/dowithexamplefactorytest.rb +48 -0
  82. data/test/greenpepper/factory/examplefactorytest.rb +88 -0
  83. data/test/greenpepper/factory/freetextexamplefactorytest.rb +54 -0
  84. data/test/greenpepper/factory/importexamplefactorytest.rb +40 -0
  85. data/test/greenpepper/factory/ruleforexamplefactorytest.rb +55 -0
  86. data/test/greenpepper/factory/setupexamplefactorytest.rb +29 -0
  87. data/test/greenpepper/factory/silentexamplefactorytest.rb +38 -0
  88. data/test/greenpepper/freetexttest.rb +222 -0
  89. data/test/greenpepper/grammar/arrayparsertest.rb +45 -0
  90. data/test/greenpepper/loggertest.rb +26 -0
  91. data/test/greenpepper/parser/freetextparsertest.rb +124 -0
  92. data/test/greenpepper/parser/htmlparsertest.rb +77 -0
  93. data/test/greenpepper/parser/wikiparsertest.rb +21 -0
  94. data/test/greenpepper/pass/freetextpasstest.rb +54 -0
  95. data/test/greenpepper/pass/greenpepperpasstest.rb +47 -0
  96. data/test/greenpepper/pass/tablepasstest.rb +23 -0
  97. data/test/greenpepper/repository/atlassionrepositorytest.rb +85 -0
  98. data/test/greenpepper/writer/freetextwritertest.rb +301 -0
  99. data/test/greenpepper/writer/htmlcollectionwritertest.rb +145 -0
  100. data/test/greenpepper/writer/htmldowithwritertest.rb +87 -0
  101. data/test/greenpepper/writer/htmlruleforwritertest.rb +147 -0
  102. data/test/greenpepper/writer/htmlsetupwritertest.rb +107 -0
  103. data/test/greenpepper/writer/htmlstatresulttest.rb +118 -0
  104. data/test/greenpepper/writer/htmlwriterpositiontest.rb +53 -0
  105. data/test/greenpepper/writer/writertest.rb +33 -0
  106. data/test/greenpepper/writer/xmlwritertest.rb +34 -0
  107. data/test/integration/collectionexampleintegrationtest.rb +64 -0
  108. data/test/integration/errorhandlingintegrationtest.rb +68 -0
  109. data/test/integration/freetextexampleintegrationtest.rb +75 -0
  110. data/test/integration/greenpepperexecutableintegrationtest.rb +22 -0
  111. data/test/integration/importexampleintegrationtest.rb +41 -0
  112. data/test/integration/interpretationordertest.rb +48 -0
  113. data/test/integration/ruleforexampleintegrationtest.rb +102 -0
  114. data/test/integration/securityintegrationtest.rb +30 -0
  115. data/test/integration/setupexampleintegrationtest.rb +31 -0
  116. data/test/integration/silentexampleintegrationtest.rb +29 -0
  117. data/test/task/greenpeppertasktest.rb +96 -0
  118. data/test/task/redpeppertasktest.rb +120 -0
  119. data/vendor/accents.rb +85 -0
  120. 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