hiptest-publisher 0.18.5 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hiptest-publisher/gherkin_adder.rb +4 -2
- data/lib/hiptest-publisher/handlebars_helper.rb +9 -0
- data/lib/hiptest-publisher/nodes.rb +12 -0
- data/lib/hiptest-publisher/render_context_maker.rb +1 -0
- data/lib/hiptest-publisher/renderer.rb +5 -1
- data/lib/templates/behat/parameter.hbs +1 -1
- data/lib/templates/behave/actionword.hbs +2 -2
- data/lib/templates/cucumber/java/actionwords.hbs +1 -0
- data/lib/templates/cucumber/java/parameter.hbs +1 -0
- data/lib/templates/gherkin/call.hbs +2 -1
- data/lib/templates/specflow/parameter.hbs +1 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf6890beff64e12d0d847f95e23a854c33fc49d5
|
4
|
+
data.tar.gz: 283d4d11acf6e9ff5d7eacdbf0058de77db7035c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67e1b24d37eae1d25d5d9fff1eaeccd215b5e336d216d0b40b617e7bb07fbc4d7750d8454fb2af23020ab50577e42b37eee7730b998cbad9a39aa0c857a8bb14
|
7
|
+
data.tar.gz: 74b69b786dc0d2aa979c3d8af3ef50767892f06b6e4c831095fd662729d5d8dae8e400868b6806758658e2cdc50eb5d4a5d16addf410a7c351987e4541a7f969
|
@@ -11,6 +11,8 @@ module Hiptest
|
|
11
11
|
@project = project
|
12
12
|
@indexer = ActionwordIndexer.new(project)
|
13
13
|
@annotations_counter = AnnotationsCounter.new
|
14
|
+
|
15
|
+
@special_params = ['__free_text', '__datatable']
|
14
16
|
end
|
15
17
|
|
16
18
|
def update_calls
|
@@ -62,7 +64,7 @@ module Hiptest
|
|
62
64
|
end
|
63
65
|
end
|
64
66
|
|
65
|
-
missing_parameter_names = all_arguments.keys - inline_parameter_names -
|
67
|
+
missing_parameter_names = all_arguments.keys - inline_parameter_names - @special_params
|
66
68
|
|
67
69
|
prettified = call_chunks.join("\"")
|
68
70
|
missing_parameter_names.each do |missing_parameter_name|
|
@@ -87,7 +89,7 @@ module Hiptest
|
|
87
89
|
result << inline_parameter_name if inline_parameter_name
|
88
90
|
end
|
89
91
|
end
|
90
|
-
missing_parameter_names = actionword_parameters.keys - inline_parameter_names -
|
92
|
+
missing_parameter_names = actionword_parameters.keys - inline_parameter_names - @special_params
|
91
93
|
|
92
94
|
patterned = result.join("\"")
|
93
95
|
missing_parameter_names.each do |missing_parameter_name|
|
@@ -231,10 +231,19 @@ module Hiptest
|
|
231
231
|
return regexp.gsub(/(^\^)|(\$$)/, '')
|
232
232
|
end
|
233
233
|
|
234
|
+
def hh_remove_last_character(context, character = '', block)
|
235
|
+
txt = block.fn(context)
|
236
|
+
return txt[-1] == character ? txt[0..-2] : txt
|
237
|
+
end
|
238
|
+
|
234
239
|
def hh_trim_surrounding_characters(context, character, block)
|
235
240
|
return block.fn(context).gsub(/(\A(#{character})*)|((#{character})*\z)/, '')
|
236
241
|
end
|
237
242
|
|
243
|
+
def hh_replace(context, str, replacement, block)
|
244
|
+
return block.fn(context).gsub(str, replacement)
|
245
|
+
end
|
246
|
+
|
238
247
|
def hh_debug(context, block)
|
239
248
|
require 'pry'
|
240
249
|
binding.pry
|
@@ -207,6 +207,10 @@ module Hiptest
|
|
207
207
|
def free_text?
|
208
208
|
@children[:name] == "__free_text"
|
209
209
|
end
|
210
|
+
|
211
|
+
def datatable?
|
212
|
+
@children[:name] == "__datatable"
|
213
|
+
end
|
210
214
|
end
|
211
215
|
|
212
216
|
class Call < Node
|
@@ -219,6 +223,10 @@ module Hiptest
|
|
219
223
|
def free_text_arg
|
220
224
|
children[:arguments].find(&:free_text?)
|
221
225
|
end
|
226
|
+
|
227
|
+
def datatable_arg
|
228
|
+
children[:arguments].find(&:datatable?)
|
229
|
+
end
|
222
230
|
end
|
223
231
|
|
224
232
|
class IfThen < Node
|
@@ -266,6 +274,10 @@ module Hiptest
|
|
266
274
|
def free_text?
|
267
275
|
@children[:name] == "__free_text"
|
268
276
|
end
|
277
|
+
|
278
|
+
def datatable?
|
279
|
+
@children[:name] == "__datatable"
|
280
|
+
end
|
269
281
|
end
|
270
282
|
|
271
283
|
class Item < Node
|
@@ -23,11 +23,15 @@ module Hiptest
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def walk_call(call)
|
26
|
-
# For Gherkin, we need the
|
26
|
+
# For Gherkin, we need the special arguments rendered.
|
27
27
|
if call.free_text_arg
|
28
28
|
@rendered_children[:free_text_arg] = @rendered[call.free_text_arg.children[:value]]
|
29
29
|
end
|
30
30
|
|
31
|
+
if call.datatable_arg
|
32
|
+
@rendered_children[:datatable_arg] = @rendered[call.datatable_arg.children[:value]]
|
33
|
+
end
|
34
|
+
|
31
35
|
super(call)
|
32
36
|
end
|
33
37
|
|
@@ -1 +1 @@
|
|
1
|
-
{{#if is_free_text?}}PyStringNode {{/if}}${{{underscore rendered_children.name}}}
|
1
|
+
{{#if is_datatable?}}TableNode {{/if}}{{#if is_free_text?}}PyStringNode {{/if}}${{{underscore rendered_children.name}}}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
{{#if rendered_children.gherkin_used_annotations}}
|
2
|
-
{{#each rendered_children.gherkin_used_annotations}}@{{{downcase this }}}(r'{{{ strip_regexp_delimiters rendered_children.gherkin_pattern }}}')
|
2
|
+
{{#each rendered_children.gherkin_used_annotations}}@{{{downcase this }}}(r'{{#remove_last_character ':'}}{{{ strip_regexp_delimiters rendered_children.gherkin_pattern }}}{{/remove_last_character}}')
|
3
3
|
{{/each}}def impl(context{{#if has_parameters?}}, {{{ join rendered_children.parameters ', '}}}{{/if}}):{{#indent}}
|
4
|
-
context.actionwords.{{{ underscore rendered_children.name }}}({{#if has_parameters?}}{{#join raw_parameter_names ', '}}{{#
|
4
|
+
context.actionwords.{{{ underscore rendered_children.name }}}({{#if has_parameters?}}{{#join raw_parameter_names ', '}}{{#replace "__datatable" "context.table"}}{{#replace "__free_text" "context.text"}}{{{underscore this}}}{{/replace}}{{/replace}}{{/join}}{{/if}}){{/indent}}{{/if}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{{#if is_datatable?}}DataTable{{else}}{{#if is_bool?}}boolean{{else}}{{{ node.type }}}{{/if}}{{/if}} {{{ camelize_lower rendered_children.name }}}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
{{{ rendered_children.gherkin_text }}}{{#if rendered_children.free_text_arg}}
|
2
2
|
"""
|
3
3
|
{{remove_surrounding_quotes rendered_children.free_text_arg }}
|
4
|
-
"""{{/if}}
|
4
|
+
"""{{/if}}{{#if rendered_children.datatable_arg}}{{#indent}}
|
5
|
+
{{remove_surrounding_quotes rendered_children.datatable_arg }}{{/indent}}{{/if}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{{#if is_datatable?}}Table{{else}}{{{ downcase node.type }}}{{/if}} {{{ camelize_lower rendered_children.name }}}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiptest-publisher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiptest R&D
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -339,6 +339,7 @@ files:
|
|
339
339
|
- lib/templates/cucumber/actionwords.hbs
|
340
340
|
- lib/templates/cucumber/java/actionword.hbs
|
341
341
|
- lib/templates/cucumber/java/actionwords.hbs
|
342
|
+
- lib/templates/cucumber/java/parameter.hbs
|
342
343
|
- lib/templates/cucumber/javascript/_after_hook.hbs
|
343
344
|
- lib/templates/cucumber/javascript/_before_hook.hbs
|
344
345
|
- lib/templates/cucumber/javascript/actionword.hbs
|
@@ -585,6 +586,7 @@ files:
|
|
585
586
|
- lib/templates/seleniumide/tests.hbs
|
586
587
|
- lib/templates/specflow/actionword.hbs
|
587
588
|
- lib/templates/specflow/actionwords.hbs
|
589
|
+
- lib/templates/specflow/parameter.hbs
|
588
590
|
homepage: https://hiptest.net
|
589
591
|
licenses:
|
590
592
|
- GPL-2.0
|
@@ -605,7 +607,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
605
607
|
version: '0'
|
606
608
|
requirements: []
|
607
609
|
rubyforge_project:
|
608
|
-
rubygems_version: 2.
|
610
|
+
rubygems_version: 2.6.10
|
609
611
|
signing_key:
|
610
612
|
specification_version: 4
|
611
613
|
summary: Export your tests from Hiptest into executable tests.
|