orthoses-rails 0.2.0 → 0.3.0
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/examples/rails/Rakefile +244 -0
- data/examples/rails/known_sig/action_cable/connection/test_cookie_jar.rbs +2 -0
- data/examples/rails/known_sig/action_controller/metal.rbs +4 -0
- data/examples/rails/known_sig/action_dispatch/cookies/cookie_jar.rbs +3 -0
- data/examples/rails/known_sig/action_dispatch/response.rbs +4 -0
- data/examples/rails/patch/drb/drb_undumped.rbs +2 -0
- data/examples/rails/patch/drb.rbs +2 -0
- data/examples/rails/patch/erubi/engine.rbs +4 -0
- data/examples/rails/patch/erubi.rbs +2 -0
- data/examples/rails/patch/minitest/kernel.rbs +44 -0
- data/examples/rails/patch/minitest/minitest/abstract_reporter.rbs +49 -0
- data/examples/rails/patch/minitest/minitest/assertion.rbs +16 -0
- data/examples/rails/patch/minitest/minitest/assertions.rbs +545 -0
- data/examples/rails/patch/minitest/minitest/backtrace_filter.rbs +16 -0
- data/examples/rails/patch/minitest/minitest/bench_spec.rbs +101 -0
- data/examples/rails/patch/minitest/minitest/benchmark.rbs +258 -0
- data/examples/rails/patch/minitest/minitest/composite_reporter.rbs +25 -0
- data/examples/rails/patch/minitest/minitest/expectations.rbs +21 -0
- data/examples/rails/patch/minitest/minitest/guard.rbs +64 -0
- data/examples/rails/patch/minitest/minitest/mock.rbs +60 -0
- data/examples/rails/patch/minitest/minitest/parallel/executor.rbs +42 -0
- data/examples/rails/patch/minitest/minitest/parallel/test/class_methods.rbs +6 -0
- data/examples/rails/patch/minitest/minitest/parallel/test.rbs +3 -0
- data/examples/rails/patch/minitest/minitest/parallel.rbs +2 -0
- data/examples/rails/patch/minitest/minitest/pride_io.rbs +54 -0
- data/examples/rails/patch/minitest/minitest/pride_lol.rbs +17 -0
- data/examples/rails/patch/minitest/minitest/progress_reporter.rbs +11 -0
- data/examples/rails/patch/minitest/minitest/reportable.rbs +51 -0
- data/examples/rails/patch/minitest/minitest/reporter.rbs +5 -0
- data/examples/rails/patch/minitest/minitest/result.rbs +28 -0
- data/examples/rails/patch/minitest/minitest/runnable.rbs +131 -0
- data/examples/rails/patch/minitest/minitest/skip.rbs +6 -0
- data/examples/rails/patch/minitest/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/examples/rails/patch/minitest/minitest/spec/dsl.rbs +125 -0
- data/examples/rails/patch/minitest/minitest/spec.rbs +10 -0
- data/examples/rails/patch/minitest/minitest/statistics_reporter.rbs +76 -0
- data/examples/rails/patch/minitest/minitest/summary_reporter.rbs +26 -0
- data/examples/rails/patch/minitest/minitest/test/lifecycle_hooks.rbs +92 -0
- data/examples/rails/patch/minitest/minitest/test.rbs +76 -0
- data/examples/rails/patch/minitest/minitest/unexpected_error.rbs +10 -0
- data/examples/rails/patch/minitest/minitest/unit/test_case.rbs +3 -0
- data/examples/rails/patch/minitest/minitest/unit.rbs +5 -0
- data/examples/rails/patch/minitest/minitest.rbs +966 -0
- data/examples/rails/patch/pg/simple_decoder.rbs +4 -0
- data/examples/rails/patch/pg.rbs +2 -0
- data/examples/rails/patch/qc/queue.rbs +2 -0
- data/examples/rails/patch/qc.rbs +2 -0
- data/examples/rails/patch/que/job.rbs +2 -0
- data/examples/rails/patch/que.rbs +2 -0
- data/examples/rails/patch/rack/cache/entity_store.rbs +2 -0
- data/examples/rails/patch/rack/cache/meta_store.rbs +2 -0
- data/examples/rails/patch/rack/cache.rbs +2 -0
- data/examples/rails/patch/rack/session/dalli.rbs +2 -0
- data/examples/rails/patch/rack/session.rbs +2 -0
- data/examples/rails/patch/rboc.rbs +2 -0
- data/examples/rails/patch/rdoc/generator/sdoc.rbs +3 -0
- data/examples/rails/patch/rdoc/generator.rbs +2 -0
- data/examples/rails/patch/rdoc/task.rbs +2 -0
- data/examples/rails/patch/ripper.rbs +2 -0
- data/examples/rails/patch/sidekiq/worker.rbs +2 -0
- data/examples/rails/patch/sidekiq.rbs +2 -0
- data/examples/rails/patch/sneakers/worker.rbs +2 -0
- data/examples/rails/patch/sneakers.rbs +2 -0
- data/examples/rails/patch/sucker_punch/job.rbs +2 -0
- data/examples/rails/patch/sucker_punch.rbs +2 -0
- data/examples/rails/patch/thor/actions/create_file.rbs +2 -0
- data/examples/rails/patch/thor/actions.rbs +2 -0
- data/examples/rails/patch/thor/error.rbs +2 -0
- data/examples/rails/patch/thor/group.rbs +2 -0
- data/examples/rails/patch/thor.rbs +2 -0
- data/lib/orthoses/active_model/has_secure_password.rb +8 -1
- data/lib/orthoses/active_model/known_sig/7.0/serialization.rbs +4 -0
- data/lib/orthoses/active_model/known_sig/7.0/validations.rbs +4 -0
- data/lib/orthoses/active_model/known_sig.rb +21 -0
- data/lib/orthoses/active_model.rb +4 -0
- data/lib/orthoses/active_record/known_sig/6.0/result.rbs +5 -0
- data/lib/orthoses/active_record/known_sig/6.1/result.rbs +5 -0
- data/lib/orthoses/active_record/known_sig/7.0/encryption/context.rbs +9 -0
- data/lib/orthoses/active_record/known_sig/7.0/result.rbs +5 -0
- data/lib/orthoses/active_record/known_sig.rb +21 -0
- data/lib/orthoses/active_record/query_methods.rb +32 -0
- data/lib/orthoses/active_record.rb +8 -0
- data/lib/orthoses/active_support/class_attribute.rb +14 -3
- data/lib/orthoses/active_support/concern.rb +9 -1
- data/lib/orthoses/active_support/delegation.rb +158 -0
- data/lib/orthoses/active_support/known_sig/7.0/active_support/callbacks/callback_chain.rbs +9 -0
- data/lib/orthoses/active_support/known_sig/7.0/active_support/hash_with_indifferent_access.rbs +6 -0
- data/lib/orthoses/active_support/known_sig/7.0/hash_with_indifferent_access.rbs +2 -0
- data/lib/orthoses/active_support/known_sig/{time.rbs → 7.0/time.rbs} +4 -0
- data/lib/orthoses/active_support/known_sig.rb +21 -0
- data/lib/orthoses/active_support/mattr_accessor.rb +10 -2
- data/lib/orthoses/active_support/time_with_zone.rb +13 -10
- data/lib/orthoses/active_support.rb +25 -0
- data/lib/orthoses/rails/known_sig_helper.rb +22 -0
- data/lib/orthoses/rails/version.rb +1 -1
- data/lib/orthoses/rails.rb +4 -11
- metadata +91 -4
- data/lib/orthoses/active_support/known_sig/active_support/time_with_zone.rbs +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c109c955af37e4574528af34d8a3695450abf39f5359729625307c368b961259
|
|
4
|
+
data.tar.gz: 29d4ad1bf3e9d4a8d18e3108899c83cd133221d3f2dc1b3f3a6cb2165684c830
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f491dab5ce7ce402058fec79a42c1c776434bbb88adedd8928b70031f614ef57051d9501c279c628903269413e55db24e3c9493101e79c758cfb5a202ba41f37
|
|
7
|
+
data.tar.gz: 701d609fb62bfa2d9ac0e226090844bc93d526328121516cc07cb3c8424c3f2992b4f365c3cb0680379c972238b68a3fdaa87d36a0c4849803732a5603b09f3f
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
REPO_ROOT = "#{File.dirname(__FILE__)}/src"
|
|
2
|
+
$:.unshift("#{REPO_ROOT}/actioncable/lib")
|
|
3
|
+
$:.unshift("#{REPO_ROOT}/actionmailbox/lib")
|
|
4
|
+
$:.unshift("#{REPO_ROOT}/actionmailer/lib")
|
|
5
|
+
$:.unshift("#{REPO_ROOT}/actionpack/lib")
|
|
6
|
+
$:.unshift("#{REPO_ROOT}/actiontext/lib")
|
|
7
|
+
$:.unshift("#{REPO_ROOT}/actionview/lib")
|
|
8
|
+
$:.unshift("#{REPO_ROOT}/activejob/lib")
|
|
9
|
+
$:.unshift("#{REPO_ROOT}/activemodel/lib")
|
|
10
|
+
$:.unshift("#{REPO_ROOT}/activerecord/lib")
|
|
11
|
+
$:.unshift("#{REPO_ROOT}/activestorage/lib")
|
|
12
|
+
$:.unshift("#{REPO_ROOT}/activesupport/lib")
|
|
13
|
+
$:.unshift("#{REPO_ROOT}/railties/lib")
|
|
14
|
+
|
|
15
|
+
require 'orthoses'
|
|
16
|
+
require 'orthoses-rails'
|
|
17
|
+
require 'openssl'
|
|
18
|
+
require 'cgi'
|
|
19
|
+
require 'uri'
|
|
20
|
+
|
|
21
|
+
Orthoses.logger.level = :error
|
|
22
|
+
|
|
23
|
+
Orthoses::Utils.unautoload!
|
|
24
|
+
|
|
25
|
+
def run_child_process
|
|
26
|
+
pid = fork do
|
|
27
|
+
yield
|
|
28
|
+
end
|
|
29
|
+
Process.wait(pid)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def switch_branch(name)
|
|
33
|
+
cd "src" do
|
|
34
|
+
sh "git switch #{name}"
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def generate(out_dir, version)
|
|
39
|
+
loader = -> () {
|
|
40
|
+
# require "rails/all"
|
|
41
|
+
require "rails/app_updater"
|
|
42
|
+
require "active_support"
|
|
43
|
+
require "active_record"
|
|
44
|
+
require "active_job"
|
|
45
|
+
require "active_model"
|
|
46
|
+
require "active_storage"
|
|
47
|
+
require "action_dispatch"
|
|
48
|
+
require "action_mailbox"
|
|
49
|
+
require "action_mailer"
|
|
50
|
+
require "action_pack"
|
|
51
|
+
require "action_text"
|
|
52
|
+
require "action_view"
|
|
53
|
+
|
|
54
|
+
[
|
|
55
|
+
ActiveSupport,
|
|
56
|
+
ActiveModel,
|
|
57
|
+
ActiveJob,
|
|
58
|
+
ActiveRecord,
|
|
59
|
+
ActiveStorage,
|
|
60
|
+
ActionDispatch,
|
|
61
|
+
ActionMailbox,
|
|
62
|
+
ActionMailer,
|
|
63
|
+
ActionText,
|
|
64
|
+
ActionView,
|
|
65
|
+
].each do |rails_mod|
|
|
66
|
+
rails_mod.eager_load!
|
|
67
|
+
Orthoses::Utils.each_const_recursive(rails_mod, on_error: -> (e) {
|
|
68
|
+
Orthoses.logger.warn "skip load const by [#{e.root}][#{e.const}](#{e.error.class})#{e.error.message}"
|
|
69
|
+
})
|
|
70
|
+
v = rails_mod.respond_to?(:version) ? rails_mod.version : nil
|
|
71
|
+
puts "loaded #{rails_mod}: v#{v}"
|
|
72
|
+
end
|
|
73
|
+
Orthoses::Utils.unautoload!
|
|
74
|
+
}
|
|
75
|
+
Orthoses::Builder.new do
|
|
76
|
+
use Orthoses::CreateFileByName,
|
|
77
|
+
base_dir: "#{out_dir}/#{version}",
|
|
78
|
+
header: "# !!! GENERATED CODE !!!"
|
|
79
|
+
use Orthoses::AvoidRecursiveAncestorError
|
|
80
|
+
use Orthoses::Filter,
|
|
81
|
+
if: -> (name, content) {
|
|
82
|
+
# OMG, both ERB and Erb are exist...
|
|
83
|
+
return false if name.start_with?("Erb")
|
|
84
|
+
|
|
85
|
+
# ArgumentError
|
|
86
|
+
return false if name.start_with?("I18n::Tests")
|
|
87
|
+
|
|
88
|
+
# FIXME: too hard
|
|
89
|
+
return false if name.include?("::Generators")
|
|
90
|
+
|
|
91
|
+
true
|
|
92
|
+
}
|
|
93
|
+
use Orthoses::Constant,
|
|
94
|
+
strict: false,
|
|
95
|
+
if: -> (current, const, _val, _rbs) {
|
|
96
|
+
!Orthoses::Utils.rbs_defined_const?("#{current}::#{const}", collection: true)
|
|
97
|
+
},
|
|
98
|
+
on_error: -> (e) {
|
|
99
|
+
Orthoses.logger.warn "[Orthoses::Constant] skip load const by #{e.root}[::#{e.const}] (#{e.error.class}) #{e.error.message}"
|
|
100
|
+
}
|
|
101
|
+
Orthoses::ActiveSupport.each do |middleware, **args|
|
|
102
|
+
use middleware, **args
|
|
103
|
+
end
|
|
104
|
+
use Orthoses::ActiveRecord::QueryMethods
|
|
105
|
+
use Orthoses::ActiveRecord::KnownSig
|
|
106
|
+
use Orthoses::ActiveModel::KnownSig
|
|
107
|
+
use Orthoses::ObjectSpaceAll
|
|
108
|
+
use Orthoses::LoadRBS,
|
|
109
|
+
paths: Dir.glob('patch/**/*.rbs')
|
|
110
|
+
use Orthoses::LoadRBS,
|
|
111
|
+
paths: Dir.glob('known_sig/**/*.rbs')
|
|
112
|
+
# require in method
|
|
113
|
+
use Orthoses::Tap do |store|
|
|
114
|
+
store.delete("DummyERB")
|
|
115
|
+
store.delete("DummyCompiler")
|
|
116
|
+
end
|
|
117
|
+
# see activerecord/lib/active_record/migration/compatibility.rb
|
|
118
|
+
use Orthoses::Tap do |store|
|
|
119
|
+
# TODO: make middleware
|
|
120
|
+
if defined?(ActiveRecord::Migration::Compatibility::V7_0)
|
|
121
|
+
store["ActiveRecord::Migration::Compatibility::V6_1"].header = nil
|
|
122
|
+
store["ActiveRecord::Migration::Compatibility::V7_0"].header = "class ActiveRecord::Migration::Compatibility::V7_0 < ActiveRecord::Migration::Current"
|
|
123
|
+
elsif defined?(ActiveRecord::Migration::Compatibility::V6_1)
|
|
124
|
+
store["ActiveRecord::Migration::Compatibility::V6_0"].header = nil
|
|
125
|
+
store["ActiveRecord::Migration::Compatibility::V6_1"].header = "class ActiveRecord::Migration::Compatibility::V6_1 < ActiveRecord::Migration::Current"
|
|
126
|
+
elsif defined?(ActiveRecord::Migration::Compatibility::V6_0)
|
|
127
|
+
store["ActiveRecord::Migration::Compatibility::V5_2"].header = nil
|
|
128
|
+
store["ActiveRecord::Migration::Compatibility::V6_0"].header = "class ActiveRecord::Migration::Compatibility::V6_0 < ActiveRecord::Migration::Current"
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
# class_eval in #each
|
|
132
|
+
# see activerecord/lib/active_record/migration/command_recorder.rb
|
|
133
|
+
use Orthoses::Tap do |store|
|
|
134
|
+
content = store["ActiveRecord::Migration::CommandRecorder"]
|
|
135
|
+
ActiveRecord::Migration::CommandRecorder::ReversibleAndIrreversibleMethods.each do |method|
|
|
136
|
+
content << "def #{method}: (*untyped args) ?{ () -> void } -> untyped"
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
# class_eval in #each
|
|
140
|
+
# see activerecord/lib/active_record/migration/command_recorder.rb
|
|
141
|
+
use Orthoses::Tap do |store|
|
|
142
|
+
content = store["ActiveRecord::Migration::CommandRecorder::StraightReversions"]
|
|
143
|
+
{
|
|
144
|
+
execute_block: :execute_block,
|
|
145
|
+
create_table: :drop_table,
|
|
146
|
+
create_join_table: :drop_join_table,
|
|
147
|
+
add_column: :remove_column,
|
|
148
|
+
add_index: :remove_index,
|
|
149
|
+
add_timestamps: :remove_timestamps,
|
|
150
|
+
add_reference: :remove_reference,
|
|
151
|
+
add_foreign_key: :remove_foreign_key,
|
|
152
|
+
add_check_constraint: :remove_check_constraint,
|
|
153
|
+
enable_extension: :disable_extension
|
|
154
|
+
}.each do |cmd, inv|
|
|
155
|
+
[[inv, cmd], [cmd, inv]].uniq.each do |method, inverse|
|
|
156
|
+
content << "def invert_#{method}: (untyped args) ?{ () -> void } -> [Symbol, untyped, Proc]"
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
# singleton_class.class_eval in included
|
|
161
|
+
use Orthoses::Tap do |store|
|
|
162
|
+
store["ActiveRecord::ModelSchema"].body.tap do |body|
|
|
163
|
+
body.delete("alias _inheritance_column= inheritance_column=")
|
|
164
|
+
body.delete("alias inheritance_column= real_inheritance_column=")
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
# alias in included block
|
|
168
|
+
use Orthoses::Tap do |store|
|
|
169
|
+
store["ActiveRecord::ConnectionAdapters::ColumnMethods"].body.tap do |body|
|
|
170
|
+
body.delete("alias blob binary")
|
|
171
|
+
body.delete("alias numeric decimal")
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
# > Use async_exec instead of exec_params on pg versions before 1.1
|
|
175
|
+
use Orthoses::Tap do |store|
|
|
176
|
+
store["PG::Connection"].body.clear
|
|
177
|
+
end
|
|
178
|
+
# Entrust to auto super class
|
|
179
|
+
use Orthoses::Tap do |store|
|
|
180
|
+
store.each do |_, content|
|
|
181
|
+
if content.header&.include?(" < Type::")
|
|
182
|
+
content.header.sub!(/ < Type::(.*)/, " < ::ActiveModel::Type::\\1")
|
|
183
|
+
end
|
|
184
|
+
# delegate to auto_header
|
|
185
|
+
if content.header&.start_with?("class Arel")
|
|
186
|
+
content.header = nil
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
store["ActionView::Helpers::Tags::CollectionRadioButtons::RadioButtonBuilder"].header = nil
|
|
190
|
+
store["ActionView::Helpers::Tags::CollectionCheckBoxes::CheckBoxBuilder"].header = nil
|
|
191
|
+
store["ActionView::SyntaxErrorInTemplate"].header = nil
|
|
192
|
+
# MigrationProxy cannot resolve name since class alias.
|
|
193
|
+
store["ActiveRecord::NullMigration"].header = nil
|
|
194
|
+
end
|
|
195
|
+
use Orthoses::Mixin,
|
|
196
|
+
if: -> (base_mod, how, mod) {
|
|
197
|
+
mod != Enumerable # TODO
|
|
198
|
+
}
|
|
199
|
+
use Orthoses::DelegateClass
|
|
200
|
+
use Orthoses::Attribute
|
|
201
|
+
use Orthoses::RBSPrototypeRB,
|
|
202
|
+
paths: Dir.glob('src/{railties,action{cable,mailbox,mailer,pack,text,view},active{job,model,record,storage,support}}/lib/**/*.rb'),
|
|
203
|
+
constant_filter: -> (member) { false },
|
|
204
|
+
mixin_filter: -> (member) { false }
|
|
205
|
+
run loader
|
|
206
|
+
end.call
|
|
207
|
+
|
|
208
|
+
sh "rbs --collection ../../rbs_collection.yaml -I #{out_dir}/#{version}/ validate --silent"
|
|
209
|
+
# $ cat out/7.0/**/*.rbs | wc
|
|
210
|
+
# 72210 332252 2551928
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
namespace :generate do
|
|
214
|
+
task :v60 do
|
|
215
|
+
switch_branch("6-0-stable")
|
|
216
|
+
run_child_process { generate("out", "6.0") }
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
task :v61 do
|
|
220
|
+
switch_branch("6-1-stable")
|
|
221
|
+
run_child_process { generate("out", "6.1") }
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
task :v70 do
|
|
225
|
+
switch_branch("7-0-stable")
|
|
226
|
+
run_child_process { generate("out", "7.0") }
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
task :clean do
|
|
231
|
+
FileUtils.rm_rf("out")
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
task :test do
|
|
235
|
+
sh "steep check"
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
task default: [
|
|
239
|
+
:clean,
|
|
240
|
+
|
|
241
|
+
'generate:v60',
|
|
242
|
+
'generate:v61',
|
|
243
|
+
'generate:v70',
|
|
244
|
+
]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
%a{annotate:rdoc:skip}
|
|
2
|
+
module Kernel : ::BasicObject
|
|
3
|
+
private
|
|
4
|
+
|
|
5
|
+
# <!--
|
|
6
|
+
# rdoc-file=lib/minitest/spec.rb
|
|
7
|
+
# - describe(desc, *additional_desc, &block)
|
|
8
|
+
# -->
|
|
9
|
+
# Describe a series of expectations for a given target `desc`.
|
|
10
|
+
#
|
|
11
|
+
# Defines a test class subclassing from either Minitest::Spec or from the
|
|
12
|
+
# surrounding describe's class. The surrounding class may subclass
|
|
13
|
+
# Minitest::Spec manually in order to easily share code:
|
|
14
|
+
#
|
|
15
|
+
# class MySpec < Minitest::Spec
|
|
16
|
+
# # ... shared code ...
|
|
17
|
+
# end
|
|
18
|
+
#
|
|
19
|
+
# class TestStuff < MySpec
|
|
20
|
+
# it "does stuff" do
|
|
21
|
+
# # shared code available here
|
|
22
|
+
# end
|
|
23
|
+
# describe "inner stuff" do
|
|
24
|
+
# it "still does stuff" do
|
|
25
|
+
# # ...and here
|
|
26
|
+
# end
|
|
27
|
+
# end
|
|
28
|
+
# end
|
|
29
|
+
#
|
|
30
|
+
# For more information on getting started with writing specs, see:
|
|
31
|
+
#
|
|
32
|
+
# http://www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-t
|
|
33
|
+
# hat-comes-with-ruby-5354.html
|
|
34
|
+
#
|
|
35
|
+
# For some suggestions on how to improve your specs, try:
|
|
36
|
+
#
|
|
37
|
+
# http://betterspecs.org
|
|
38
|
+
#
|
|
39
|
+
# but do note that several items there are debatable or specific to rspec.
|
|
40
|
+
#
|
|
41
|
+
# For more information about expectations, see Minitest::Expectations.
|
|
42
|
+
#
|
|
43
|
+
def describe: (untyped desc, *untyped additional_desc) { () -> untyped } -> untyped
|
|
44
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# <!-- rdoc-file=lib/minitest.rb -->
|
|
2
|
+
# Defines the API for Reporters. Subclass this and override whatever you want.
|
|
3
|
+
# Go nuts.
|
|
4
|
+
#
|
|
5
|
+
class Minitest::AbstractReporter
|
|
6
|
+
# <!--
|
|
7
|
+
# rdoc-file=lib/minitest.rb
|
|
8
|
+
# - start()
|
|
9
|
+
# -->
|
|
10
|
+
# Starts reporting on the run.
|
|
11
|
+
#
|
|
12
|
+
def start: () -> nil
|
|
13
|
+
|
|
14
|
+
# <!--
|
|
15
|
+
# rdoc-file=lib/minitest.rb
|
|
16
|
+
# - prerecord(klass, name)
|
|
17
|
+
# -->
|
|
18
|
+
# About to start running a test. This allows a reporter to show that it is
|
|
19
|
+
# starting or that we are in the middle of a test run.
|
|
20
|
+
#
|
|
21
|
+
def prerecord: (untyped klass, untyped name) -> nil
|
|
22
|
+
|
|
23
|
+
# <!--
|
|
24
|
+
# rdoc-file=lib/minitest.rb
|
|
25
|
+
# - record(result)
|
|
26
|
+
# -->
|
|
27
|
+
# Output and record the result of the test. Call
|
|
28
|
+
# [result#result_code](rdoc-ref:Runnable#result_code) to get the result
|
|
29
|
+
# character string. Stores the result of the run if the run did not pass.
|
|
30
|
+
#
|
|
31
|
+
def record: (untyped result) -> nil
|
|
32
|
+
|
|
33
|
+
# <!--
|
|
34
|
+
# rdoc-file=lib/minitest.rb
|
|
35
|
+
# - report()
|
|
36
|
+
# -->
|
|
37
|
+
# Outputs the summary of the run.
|
|
38
|
+
#
|
|
39
|
+
def report: () -> nil
|
|
40
|
+
|
|
41
|
+
# <!--
|
|
42
|
+
# rdoc-file=lib/minitest.rb
|
|
43
|
+
# - passed?()
|
|
44
|
+
# -->
|
|
45
|
+
# Did this run pass?
|
|
46
|
+
#
|
|
47
|
+
def passed?: () -> true
|
|
48
|
+
include Mutex_m
|
|
49
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# <!-- rdoc-file=lib/minitest.rb -->
|
|
2
|
+
# Represents run failures.
|
|
3
|
+
#
|
|
4
|
+
class Minitest::Assertion < ::Exception
|
|
5
|
+
def error: () -> self
|
|
6
|
+
|
|
7
|
+
# <!--
|
|
8
|
+
# rdoc-file=lib/minitest.rb
|
|
9
|
+
# - location()
|
|
10
|
+
# -->
|
|
11
|
+
# Where was this run before an assertion was raised?
|
|
12
|
+
#
|
|
13
|
+
def location: () -> untyped
|
|
14
|
+
def result_code: () -> untyped
|
|
15
|
+
def result_label: () -> "Failure"
|
|
16
|
+
end
|