futest 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.
- checksums.yaml +7 -0
- data/lib/futest.rb +65 -0
- metadata +45 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c02550d3a79fd48b5707e6764d207645d7ecfc90
|
4
|
+
data.tar.gz: e8ef4c6177b957dd742d5d57d4fbf4af85ebfd07
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fff0bec4d45a6d0c7150ee59ca2c0454e710ddb2d8d634f1afb10c9d589a83ae673bdf53cc9da2596e23d4fd82de1df32343d28039e54dca1b2b9443d3f8edd4
|
7
|
+
data.tar.gz: 59479094d301dfa2ad9bc368a57f7b6365da3cf6bb4e369d4795f24da959f8dff0efc6a2a777d680a8364cbee76651b98c86b44cbebce068d1c7ef1907a14718
|
data/lib/futest.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
module Futest
|
2
|
+
module Helpers
|
3
|
+
|
4
|
+
##############
|
5
|
+
# TEST METHODS
|
6
|
+
##############
|
7
|
+
|
8
|
+
# Prints error message and stops execution
|
9
|
+
def halt(str, obj = nil, n = x(caller))
|
10
|
+
m = "#{n}: #{str}"
|
11
|
+
if obj and obj.errors.any?
|
12
|
+
n = obj.errors.messages
|
13
|
+
m += ":\n=> " + n.each{|k, v| n[k] = v.join(', ')}.to_json[1..-2].gsub('","', '", "')
|
14
|
+
end
|
15
|
+
puts red(%{#{m}})
|
16
|
+
puts
|
17
|
+
exit(0)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Prints the test and runs setup methods
|
21
|
+
def test(*args)
|
22
|
+
n = args[-1].is_a?(Integer) ? args[-1] : x(caller)
|
23
|
+
args.select{|r| r.is_a?(Symbol)}.each{|k| send(k)}
|
24
|
+
puts green("#{n}: #{args[0]}")
|
25
|
+
end
|
26
|
+
|
27
|
+
# Equality tester
|
28
|
+
def is(v1, v2, n = x(caller))
|
29
|
+
halt("#{v1} is #{v2}", nil, n) unless v1 == v2
|
30
|
+
end
|
31
|
+
|
32
|
+
# Greater than tester
|
33
|
+
def gt(v1, v2, n = x(caller))
|
34
|
+
halt("#{v1} gt #{v2}", nil, n) unless v1 > v2
|
35
|
+
end
|
36
|
+
|
37
|
+
# Less than tester
|
38
|
+
def lt(v1, v2, n = x(caller))
|
39
|
+
halt("#{v1} lt #{v2}", nil, n) unless v1 < v2
|
40
|
+
end
|
41
|
+
|
42
|
+
##############
|
43
|
+
# HELPER METHODS
|
44
|
+
##############
|
45
|
+
|
46
|
+
# Colorize input red
|
47
|
+
def red(text);"\e[31m#{text}\e[0m";end
|
48
|
+
|
49
|
+
# Colorize input green
|
50
|
+
def green(text);"\e[33m#{text}\e[0m";end
|
51
|
+
|
52
|
+
# Print error message
|
53
|
+
def e(y)
|
54
|
+
y.backtrace.first.match(/(\/.+\/.*.rb):(\d{1,9}):/)
|
55
|
+
halt(%{#{y.message}\n=> ~/#{$1.split('/')[3..-1].join('/')}}, nil, $2) if $1.present? and $2.present?
|
56
|
+
halt(%{#{y.message}\n=> #{y.backtrace.join("\n")}})
|
57
|
+
end
|
58
|
+
|
59
|
+
# Get the line number
|
60
|
+
def x(q)
|
61
|
+
q.first.split(':')[1]
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: futest
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Fugroup Limited
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-04 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Program your tests as normal scripts without dependencies, mocks, stubs
|
14
|
+
and rules.
|
15
|
+
email: mail@fugroup.net
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/futest.rb
|
21
|
+
homepage: https://github.com/fugroup/futest
|
22
|
+
licenses:
|
23
|
+
- MIT
|
24
|
+
metadata: {}
|
25
|
+
post_install_message:
|
26
|
+
rdoc_options: []
|
27
|
+
require_paths:
|
28
|
+
- lib
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 2.5.1
|
42
|
+
signing_key:
|
43
|
+
specification_version: 4
|
44
|
+
summary: Futest flexible testing for Ruby
|
45
|
+
test_files: []
|