moto 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
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