ass_tests 1.0.0.alpha

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.
@@ -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: