futest 0.0.2 → 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/futest.rb +8 -74
  3. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8850fe934a2e18c66630fe2c567d5d79bbc9c816
4
- data.tar.gz: 9386f5dccf59dd019fcc4ffb30f64ee04ffbb1d3
3
+ metadata.gz: a3141c2f5c21a663adbb2326ddc21976a06a1400
4
+ data.tar.gz: f1893bfbb44190da5b48134a1e9be0e3729d12ae
5
5
  SHA512:
6
- metadata.gz: c36054e94dbd1e77271a7b4c7810e00c8d2a24b67d874b25f3ea9982efa02edbb430721a52b8a69b24153af527ba9f77be68724c804f884e2ea54bfbd615ca29
7
- data.tar.gz: c153c95d2e09ccd370d0d36395583a4c5af9e38469bf76514dfbb7fdbd1af1b82a0f34d3e34eb0fcd6d3cf8b60e4a873a780c9fd6830650cd3988c14c7b0dc4f
6
+ metadata.gz: b441d76f59e02aa53acf6979ed2028d456fc1afd206c73ac736a75be452e127fdb714c6bf4d8b162abb538156ac015a1d4413cd976c2606d0df9b234face1cbd
7
+ data.tar.gz: b7257e16f4c0751373948b345985a26cc9c39cbf32e813bae120bce194cea84ebc541ca55ba32158d508f378e47b3215111773142e543da7b252ef861360bc67
data/lib/futest.rb CHANGED
@@ -1,77 +1,11 @@
1
1
  module Futest
2
- module Helpers
3
2
 
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
- # Support for errors when using Object DB ORM
12
- if obj and obj.errors and obj.errors.any? and obj.errors.messages
13
- q = obj.errors.messages
14
- m += ":\n=> " + q.each{|k, v| q[k] = v.join(', ')}.to_json[1..-2].gsub('","', '", "')
15
- end
16
- puts red(%{#{m}})
17
- puts
18
- exit(0)
19
- end
20
-
21
- # Prints the test and runs setup methods
22
- def test(*args)
23
- n = args[-1].is_a?(Integer) ? args[-1] : x(caller)
24
- args.select{|r| r.is_a?(Symbol)}.each{|k| send(k)}
25
- puts green("#{n}: #{args[0]}")
26
- end
27
-
28
- # Equality tester
29
- def is(v1, v2, n = x(caller))
30
- v2 = {:eq => v2} unless v2.is_a?(Hash)
31
- # Extract options here with delete.
32
- # No options available at the moment.
33
-
34
- # For key output
35
- def fs(y);{:eq => '==', :gt => '>', :lt => '<', :a? => 'is a'}[y] rescue y;end
36
-
37
- # Symbolize keys and extract values
38
- k, v = v2.inject({}){|q,(k,v)|q[k.to_sym] = v; q}.to_a.flatten
39
- s = ["#{v1.class} #{v1} #{fs(k)} #{v}", nil, n]
40
- case k
41
- when :eq
42
- halt(*s) unless v1 == v
43
- when :gt
44
- halt(*s) unless v1 > v
45
- when :lt
46
- halt(*s) unless v1 < v
47
- when :a?
48
- halt(*s) unless v1.is_a?(v)
49
- else
50
- puts "#{k}: Command not supported."
51
- end
52
- end
53
-
54
- ##############
55
- # HELPER METHODS
56
- ##############
57
-
58
- # Colorize input red
59
- def red(text);"\e[31m#{text}\e[0m";end
60
-
61
- # Colorize input green
62
- def green(text);"\e[33m#{text}\e[0m";end
63
-
64
- # Print error message
65
- def e(y)
66
- y.backtrace.first.match(/(\/.+\/.*.rb):(\d{1,9}):/)
67
- halt(%{#{y.message}\n=> ~/#{$1.split('/')[3..-1].join('/')}}, nil, $2) if $1 and $2
68
- halt(%{#{y.message}\n=> #{y.backtrace.join("\n")}})
69
- end
70
-
71
- # Get the line number
72
- def x(q)
73
- q.first.split(':')[1]
74
- end
75
-
76
- end
3
+ # # # # # #
4
+ # Futest flexible testing helpers for Ruby
5
+ # @homepage: https://github.com/fugroup/futest
6
+ # @author: Vidar <vidar@fugroup.net>, Fugroup Ltd.
7
+ # @license: MIT, contributions are welcome.
8
+ # # # # # #
77
9
  end
10
+
11
+ require_relative 'futest/helpers'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: futest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fugroup Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-14 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2016-12-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Program your tests as normal scripts without dependencies, mocks, stubs
14
28
  and rules.
15
29
  email: mail@fugroup.net