ass_tests 1.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,33 @@
1
+ module AssTests
2
+ require 'ass_tests/info_bases'
3
+ module MiniTest
4
+ class Test < Minitest::Test
5
+ class ConfigureError < StandardError; end
6
+ def self.use(infobase_name)
7
+ @infobase = AssTests::InfoBases[infobase_name]
8
+ end
9
+
10
+ def infobase
11
+ fail ConfigureError if self.class.infobase.nil?
12
+ self.class.infobase
13
+ end
14
+ alias_method :ib, :infobase
15
+
16
+ def self.infobase
17
+ @infobase
18
+ end
19
+
20
+ def connection_string
21
+ infobase.connection_string
22
+ end
23
+ alias_method :cs, :connection_string
24
+
25
+ def platform_require
26
+ infobase.platform_require
27
+ end
28
+ alias_method :pr, :platform_require
29
+ end
30
+ end
31
+
32
+ end
33
+
@@ -0,0 +1,7 @@
1
+ require 'ass_tests'
2
+ module AssTests
3
+ module Minitests
4
+ require 'minitest'
5
+ require 'ass_tests/minitest/assertions'
6
+ end
7
+ end
@@ -0,0 +1,73 @@
1
+ module Minitest
2
+ class Assertion < Exception
3
+ def location
4
+ last_before_assertion = ""
5
+ self.backtrace.reverse_each do |s|
6
+ break if s =~ /in .(_?assert|_?refute|flunk|pass|fail|raise|must|wont)/
7
+ last_before_assertion = s
8
+ end
9
+ last_before_assertion.sub(/:in .*$/, "")
10
+ end
11
+ end
12
+ end
13
+
14
+ module AssTests
15
+ module Assertions
16
+ # TODO: It works bad
17
+ def _assert_xml_type(exp, obj, mess = nil)
18
+ act = ole_connector.xmlTypeOf(obj).typeName
19
+ mess = message(mess) do
20
+ "Expected #{exp} xml type but #{act} given"
21
+ end
22
+ assert exp == act, mess
23
+ end
24
+
25
+ def _assert_ref_empty(obj, mess = nil)
26
+ mess = message(mess) {"Ref must be empty"}
27
+ assert obj.ref.IsEmpty, mess
28
+ end
29
+
30
+ def _refute_ref_empty(obj, mess = nil)
31
+ mess = message(mess) {"Ref must not be empty"}
32
+ refute obj.ref.IsEmpty, mess
33
+ end
34
+
35
+ def _assert_equal(exp, act, mess = nil)
36
+ fail_not_comparable(exp, act) if not_comparable?(exp, act)
37
+ exp_ = to_comparable(exp)
38
+ act_ = to_comparable(act)
39
+ mess = message(mess, Minitest::Assertions::E){diff exp_, act_}
40
+ assert exp_ == act_, mess
41
+ end
42
+
43
+ def to_comparable(obj)
44
+ return obj unless obj.is_a? WIN32OLE
45
+ return obj.__real_obj__ if obj.__ruby__?
46
+ # TODO: make comparsation ruby object from internal Ass string
47
+ r = {}
48
+ r[:as_string] = ole_connector.sTring obj
49
+ r[:xml_type] = ole_connector.xmlTypeOf(obj).typeName
50
+ r[:as_string_internal] = ole_connector.ValueToStringInternal obj
51
+ r
52
+ end
53
+ private :to_comparable
54
+
55
+ def not_comparable?(exp, act)
56
+ is_ruby?(exp) ^ is_ruby?(act)
57
+ end
58
+ private :not_comparable?
59
+
60
+ def is_ruby?(obj)
61
+ !obj.is_a? WIN32OLE or obj.__ruby__?
62
+ end
63
+ private :is_ruby?
64
+
65
+ def fail_not_comparable(exp, act)
66
+ fail ArgumentError,
67
+ "Not comparable types `#{exp.__real_object__.class}'"\
68
+ " and `#{act.__real_object__.class}'"
69
+ end
70
+ private :fail_not_comparable
71
+ end
72
+ end
73
+
@@ -0,0 +1,15 @@
1
+ module AssTests
2
+ require 'ass_tests/minitest'
3
+ module Minitests
4
+ module Autorun
5
+ at_exit do
6
+ Autorun.do_at_exit
7
+ end
8
+ require 'minitest/autorun'
9
+
10
+ def self.do_at_exit
11
+ # TODO
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ module AssTests
2
+ VERSION = "1.0.0.alpha"
3
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ass_tests
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.alpha
5
+ platform: ruby
6
+ authors:
7
+ - Leonid Vlasov
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-12-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ass_launcher
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'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ass_maintainer-info_base
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>'
46
+ - !ruby/object:Gem::Version
47
+ version: '5'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>'
53
+ - !ruby/object:Gem::Version
54
+ version: '5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-hooks
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.10'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: mocha
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: It make possible to write tests for 1C:Enterprise on Ruby easy. Access
140
+ to 1C runtime via OLE. Works only in Windows or Cygwin!!!
141
+ email:
142
+ - leoniv.vlasov@gmail.com
143
+ executables: []
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - .gitignore
148
+ - .simplecov
149
+ - .travis.yml
150
+ - Gemfile
151
+ - README.md
152
+ - Rakefile
153
+ - ass_tests.gemspec
154
+ - bin/console
155
+ - bin/setup
156
+ - examples/describe_infobase.rb
157
+ - lib/ass_tests.rb
158
+ - lib/ass_tests/ass_dummy.rb
159
+ - lib/ass_tests/config.rb
160
+ - lib/ass_tests/externals.rb
161
+ - lib/ass_tests/fixt.rb
162
+ - lib/ass_tests/info_bases.rb
163
+ - lib/ass_tests/info_bases/info_base.rb
164
+ - lib/ass_tests/mini_test.rb
165
+ - lib/ass_tests/minitest.rb
166
+ - lib/ass_tests/minitest/assertions.rb
167
+ - lib/ass_tests/minitest/autorun.rb
168
+ - lib/ass_tests/version.rb
169
+ homepage: https://github.com/leoniv/ass_tests
170
+ licenses: []
171
+ metadata: {}
172
+ post_install_message:
173
+ rdoc_options: []
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - '>'
184
+ - !ruby/object:Gem::Version
185
+ version: 1.3.1
186
+ requirements: []
187
+ rubyforge_project:
188
+ rubygems_version: 2.0.14
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Framework for unit testing code written on 1C:Enterprise embedded programming
192
+ language
193
+ test_files: []
194
+ has_rdoc: