moto 0.0.18 → 0.0.19

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3799edbb3011aab7abc3f801548862865d5dc196
4
- data.tar.gz: 49183582720dd86f5f1fd4335a5e5ca3d9228731
3
+ metadata.gz: 9faf48b6aac417fb55e2e7c7c1ed2392574d47ae
4
+ data.tar.gz: 9ac15868017a3e95b9c0f55221a713addf613ae1
5
5
  SHA512:
6
- metadata.gz: 49c6e8a0e15ee3275fced887be1e25296be84dedf652e54f372040b1d5b8fe55593efe32a0b659a3a707d4b3289491b0bff10a77c741decdc4b003491164335d
7
- data.tar.gz: 32d7e271f59cbdbc46f8712b5ef2bc0c141f38057c1a633fc8f85c7f679f5799065390d9965810939d0a249fdec6894314bf73811004d9f55d317a77ce6e667c
6
+ metadata.gz: c7a8906b2259c776a492143c668c55d485a44c062befd7f4a94163eda025dd948ca341e7f9becf4b4190e449213aff0b26a4a1379820c5b4c1a2529358b9aad9
7
+ data.tar.gz: 5addd188da1b850ae65d861fd3117a20f2743022ed3b34aae798241e2e89f8fec1dae4f9a1d0d7ccad4cae79adcfc7b3c05cb070def6d7ee97076266de713841
data/lib/assert.rb CHANGED
@@ -11,7 +11,13 @@ module Moto
11
11
 
12
12
  def assert(condition, message)
13
13
  unless condition
14
- line_number = caller.select{ |l| l.match(/\(eval\):\d*:in `run'/) }.first[/\d+/].to_i - 1 # -1 because of added method header in generated class
14
+
15
+ line_number = if @context.current_test.evaled
16
+ caller.select{ |l| l.match(/\(eval\):\d*:in `run'/) }.first[/\d+/].to_i - 1 # -1 because of added method header in generated class
17
+ else
18
+ line_number = caller.select{ |l| l.match(/#{@context.current_test.static_path}:\d*:in `run'/) }.first[/\d+/].to_i - 1
19
+ end
20
+
15
21
  full_message = "ASSERTION FAILED in line #{line_number}: #{message}"
16
22
  @context.runner.result.add_failure(self, full_message)
17
23
  logger.error(full_message)
data/lib/test.rb CHANGED
@@ -9,8 +9,9 @@ module Moto
9
9
  attr_reader :name
10
10
  attr_reader :env
11
11
  attr_reader :params
12
- attr_writer :static_path
12
+ attr_accessor :static_path
13
13
  attr_accessor :log_path
14
+ attr_accessor :evaled
14
15
 
15
16
  class << self
16
17
  attr_accessor :_path
@@ -38,6 +38,25 @@ module Moto
38
38
  def generate(test_path_absolute)
39
39
  method_body = File.read(test_path_absolute) + "\n"
40
40
 
41
+ full_code = !! method_body.match( /^#\s*FULL_CODE\s+/ )
42
+
43
+ if full_code
44
+ generate_for_full_class_code(test_path_absolute)
45
+ else
46
+ generate_for_run_body(test_path_absolute, method_body)
47
+ end
48
+ end
49
+
50
+ def generate_for_full_class_code(test_path_absolute)
51
+ require test_path_absolute
52
+ class_name = test_path_absolute.gsub("#{MotoApp::DIR}/",'moto_app/').split('/')[0..-2].join('/').camelize
53
+ test_object = class_name.constantize.new
54
+ test_object.static_path = test_path_absolute
55
+ test_object.evaled = false
56
+ test_object
57
+ end
58
+
59
+ def generate_for_run_body(test_path_absolute, method_body)
41
60
  base = Moto::Test
42
61
  base_class_string = method_body.match( /^#\s*BASE_CLASS:\s(\S+)/ )
43
62
  unless base_class_string.nil?
@@ -62,6 +81,7 @@ module Moto
62
81
  test_object = cls.new
63
82
  test_object.instance_eval( "def run\n #{method_body} \n end" )
64
83
  test_object.static_path = test_path_absolute
84
+ test_object.evaled = true
65
85
  test_object
66
86
  end
67
87
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Moto
2
- VERSION = '0.0.18'
2
+ VERSION = '0.0.19'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartek Wilczek
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-01-11 00:00:00.000000000 Z
13
+ date: 2016-01-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport