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 +4 -4
- data/lib/assert.rb +7 -1
- data/lib/test.rb +2 -1
- data/lib/test_generator.rb +20 -0
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9faf48b6aac417fb55e2e7c7c1ed2392574d47ae
|
4
|
+
data.tar.gz: 9ac15868017a3e95b9c0f55221a713addf613ae1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
data/lib/test_generator.rb
CHANGED
@@ -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
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.
|
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-
|
13
|
+
date: 2016-01-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|