lookout 2.0.2 → 2.1.2
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.
- data/lib/lookout.rb +1 -0
- data/lib/lookout/equality.rb +15 -0
- data/lib/lookout/expectation.rb +18 -3
- data/lib/lookout/expectations.rb +4 -0
- data/lib/lookout/expectations/state.rb +2 -0
- data/lib/lookout/expectations/state/warning.rb +26 -0
- data/lib/lookout/rake/tasks/gem.rb +1 -1
- data/lib/lookout/version.rb +1 -1
- data/lib/lookout/warning.rb +7 -0
- data/test/unit/examples.rb +17 -0
- metadata +49 -47
data/lib/lookout.rb
CHANGED
data/lib/lookout/equality.rb
CHANGED
@@ -176,3 +176,18 @@ private
|
|
176
176
|
'%p≠%p' % [Lookout::Output.new(expected.actual), expected]
|
177
177
|
end
|
178
178
|
end
|
179
|
+
|
180
|
+
class Lookout::Equality::Warning < Lookout::Equality::String
|
181
|
+
Lookout::Equality.register self, Lookout::Warning
|
182
|
+
|
183
|
+
def equal?(expected, actual)
|
184
|
+
expected == actual.chomp or
|
185
|
+
actual =~ /\A.*?:\d+: warning: #{Regexp.escape(expected)}\Z/u
|
186
|
+
end
|
187
|
+
|
188
|
+
private
|
189
|
+
|
190
|
+
def format(expected, actual)
|
191
|
+
'%p≠%p' % [Lookout::Warning.new(actual), expected]
|
192
|
+
end
|
193
|
+
end
|
data/lib/lookout/expectation.rb
CHANGED
@@ -2,9 +2,14 @@
|
|
2
2
|
|
3
3
|
module Lookout::Expectation
|
4
4
|
def self.on(expected, file, line, &block)
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
case expected
|
6
|
+
when Lookout::Recorder
|
7
|
+
Lookout::Expectations::Behavior
|
8
|
+
when Lookout::Warning
|
9
|
+
Lookout::Expectations::State::Warning
|
10
|
+
else
|
11
|
+
Lookout::Expectations::State
|
12
|
+
end.new(expected, file, line, &block)
|
8
13
|
end
|
9
14
|
|
10
15
|
def initialize(expected, file, line, &block)
|
@@ -31,6 +36,16 @@ module Lookout::Expectation
|
|
31
36
|
end
|
32
37
|
end
|
33
38
|
|
39
|
+
def with_verbose(verbose = true)
|
40
|
+
saved_verbose = $VERBOSE
|
41
|
+
$VERBOSE = verbose
|
42
|
+
begin
|
43
|
+
yield
|
44
|
+
ensure
|
45
|
+
$VERBOSE = saved_verbose
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
34
49
|
attr_reader :file, :line
|
35
50
|
|
36
51
|
private
|
data/lib/lookout/expectations.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'stringio'
|
4
|
+
|
5
|
+
class Lookout::Expectations::State::Warning < Lookout::Expectations::State
|
6
|
+
def evaluate_with_stubs
|
7
|
+
@output = StringIO.new
|
8
|
+
saved_stderr = $stderr
|
9
|
+
$stderr = @output
|
10
|
+
begin
|
11
|
+
with_verbose do
|
12
|
+
super
|
13
|
+
end
|
14
|
+
ensure
|
15
|
+
$stderr = saved_stderr
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def check(actual)
|
22
|
+
@output.rewind
|
23
|
+
|
24
|
+
super @output.read
|
25
|
+
end
|
26
|
+
end
|
@@ -41,7 +41,7 @@ class Lookout::Rake::Tasks::Gem < Rake::TaskLib
|
|
41
41
|
|
42
42
|
desc 'Push %s to rubygems.org' % specification.file_name
|
43
43
|
task :push => :check do
|
44
|
-
sh 'gem -%s-verbose
|
44
|
+
sh 'gem push -%s-verbose %s' % [verbose ? '' : '-no', specification.file_name]
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
data/lib/lookout/version.rb
CHANGED
data/test/unit/examples.rb
CHANGED
@@ -166,4 +166,21 @@ Expectations do
|
|
166
166
|
expect Object.new.to.receive.deal(arg, 1, arg) do |o|
|
167
167
|
o.deal :a, 1, :b
|
168
168
|
end
|
169
|
+
|
170
|
+
# Utilities
|
171
|
+
|
172
|
+
# Use #with_verbose to set $VERBOSE during the execution of a block.
|
173
|
+
expect nil do
|
174
|
+
with_verbose(nil) do
|
175
|
+
$VERBOSE
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
expect warning('this is your final one!') do
|
180
|
+
warn 'this is your final one!'
|
181
|
+
end
|
182
|
+
|
183
|
+
expect warning('this is your final one!') do
|
184
|
+
warn '%s:%d: warning: this is your final one!' % [__FILE__, __LINE__]
|
185
|
+
end
|
169
186
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lookout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
|
-
-
|
8
|
+
- 1
|
9
9
|
- 2
|
10
|
-
version: 2.
|
10
|
+
version: 2.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Nikolai Weibull
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-05-24 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -341,121 +341,123 @@ extensions: []
|
|
341
341
|
extra_rdoc_files: []
|
342
342
|
|
343
343
|
files:
|
344
|
-
- lib/lookout/aphonic.rb
|
345
344
|
- lib/lookout/benchmark.rb
|
346
|
-
- lib/lookout/diff
|
347
|
-
- lib/lookout/diff/algorithms/difflib/position.rb
|
348
|
-
- lib/lookout/diff/algorithms/difflib.rb
|
345
|
+
- lib/lookout/diff.rb
|
349
346
|
- lib/lookout/diff/algorithms.rb
|
347
|
+
- lib/lookout/diff/algorithms/difflib.rb
|
348
|
+
- lib/lookout/diff/algorithms/difflib/position.rb
|
349
|
+
- lib/lookout/diff/algorithms/difflib/position/to.rb
|
350
|
+
- lib/lookout/diff/formats.rb
|
350
351
|
- lib/lookout/diff/formats/hash.rb
|
351
352
|
- lib/lookout/diff/formats/inline.rb
|
352
353
|
- lib/lookout/diff/formats/unified.rb
|
353
|
-
- lib/lookout/diff/formats.rb
|
354
354
|
- lib/lookout/diff/group.rb
|
355
355
|
- lib/lookout/diff/groups.rb
|
356
356
|
- lib/lookout/diff/match.rb
|
357
357
|
- lib/lookout/diff/operation.rb
|
358
|
+
- lib/lookout/diff/operations.rb
|
358
359
|
- lib/lookout/diff/operations/delete.rb
|
359
360
|
- lib/lookout/diff/operations/equal.rb
|
360
361
|
- lib/lookout/diff/operations/insert.rb
|
361
362
|
- lib/lookout/diff/operations/replace.rb
|
362
|
-
- lib/lookout/diff/operations.rb
|
363
363
|
- lib/lookout/diff/range.rb
|
364
|
-
- lib/lookout/diff.rb
|
365
|
-
- lib/lookout/equality.rb
|
366
|
-
- lib/lookout/expectation.rb
|
367
364
|
- lib/lookout/expectations/behavior.rb
|
365
|
+
- lib/lookout/expectations/state/warning.rb
|
368
366
|
- lib/lookout/expectations/state.rb
|
369
|
-
- lib/lookout/
|
367
|
+
- lib/lookout/mock.rb
|
368
|
+
- lib/lookout/mock/method.rb
|
369
|
+
- lib/lookout/mock/method/arguments.rb
|
370
370
|
- lib/lookout/mock/method/arguments/any.rb
|
371
371
|
- lib/lookout/mock/method/arguments/anything.rb
|
372
372
|
- lib/lookout/mock/method/arguments/list.rb
|
373
373
|
- lib/lookout/mock/method/arguments/none.rb
|
374
374
|
- lib/lookout/mock/method/arguments/one.rb
|
375
|
-
- lib/lookout/mock/method/
|
375
|
+
- lib/lookout/mock/method/calls.rb
|
376
376
|
- lib/lookout/mock/method/calls/class.rb
|
377
377
|
- lib/lookout/mock/method/calls/exactly.rb
|
378
378
|
- lib/lookout/mock/method/calls/instance.rb
|
379
379
|
- lib/lookout/mock/method/calls/lower.rb
|
380
380
|
- lib/lookout/mock/method/calls/upper.rb
|
381
|
-
- lib/lookout/mock/method/calls.rb
|
382
|
-
- lib/lookout/mock/method.rb
|
383
381
|
- lib/lookout/mock/methods.rb
|
384
382
|
- lib/lookout/mock/object.rb
|
385
|
-
- lib/lookout/mock.rb
|
386
383
|
- lib/lookout/object.rb
|
387
384
|
- lib/lookout/output.rb
|
388
|
-
- lib/lookout/rake/tasks/gem.rb
|
389
|
-
- lib/lookout/rake/tasks/tags.rb
|
390
385
|
- lib/lookout/rake/tasks/test/loader.rb
|
386
|
+
- lib/lookout/rake/tasks/tags.rb
|
391
387
|
- lib/lookout/rake/tasks/test.rb
|
388
|
+
- lib/lookout/rake/tasks/gem.rb
|
392
389
|
- lib/lookout/rake/tasks.rb
|
393
390
|
- lib/lookout/recorder/not.rb
|
394
391
|
- lib/lookout/recorder/tape.rb
|
395
|
-
- lib/lookout/recorder.rb
|
396
392
|
- lib/lookout/recorders/reception.rb
|
397
393
|
- lib/lookout/recorders/state.rb
|
398
|
-
- lib/lookout/
|
399
|
-
- lib/lookout/result.rb
|
400
|
-
- lib/lookout/results/error/exception/backtrace.rb
|
401
|
-
- lib/lookout/results/error/exception.rb
|
402
|
-
- lib/lookout/results/error.rb
|
403
|
-
- lib/lookout/results/failure.rb
|
394
|
+
- lib/lookout/results/failures.rb
|
404
395
|
- lib/lookout/results/failures/behavior.rb
|
405
396
|
- lib/lookout/results/failures/state.rb
|
406
|
-
- lib/lookout/results/
|
397
|
+
- lib/lookout/results/error.rb
|
398
|
+
- lib/lookout/results/error/exception.rb
|
399
|
+
- lib/lookout/results/error/exception/backtrace.rb
|
400
|
+
- lib/lookout/results/failure.rb
|
407
401
|
- lib/lookout/results/fulfilled.rb
|
408
|
-
- lib/lookout/results.rb
|
409
|
-
- lib/lookout/runners/console.rb
|
410
402
|
- lib/lookout/runners.rb
|
403
|
+
- lib/lookout/runners/console.rb
|
404
|
+
- lib/lookout/stub.rb
|
411
405
|
- lib/lookout/stub/method.rb
|
412
406
|
- lib/lookout/stub/methods.rb
|
413
407
|
- lib/lookout/stub/object.rb
|
414
|
-
- lib/lookout/stub.rb
|
415
|
-
- lib/lookout/ui/console.rb
|
416
|
-
- lib/lookout/ui/silent.rb
|
417
408
|
- lib/lookout/ui.rb
|
418
|
-
- lib/lookout/
|
409
|
+
- lib/lookout/ui/silent.rb
|
410
|
+
- lib/lookout/ui/console.rb
|
419
411
|
- lib/lookout/xml.rb
|
412
|
+
- lib/lookout/aphonic.rb
|
413
|
+
- lib/lookout/result.rb
|
414
|
+
- lib/lookout/results.rb
|
415
|
+
- lib/lookout/recorder.rb
|
416
|
+
- lib/lookout/recorders.rb
|
417
|
+
- lib/lookout/expectations.rb
|
418
|
+
- lib/lookout/expectation.rb
|
419
|
+
- lib/lookout/warning.rb
|
420
|
+
- lib/lookout/equality.rb
|
421
|
+
- lib/lookout/version.rb
|
420
422
|
- lib/lookout.rb
|
421
|
-
- test/unit/
|
422
|
-
- test/unit/lookout/diff
|
423
|
-
- test/unit/lookout/diff/algorithms/difflib/position.rb
|
423
|
+
- test/unit/lookout.rb
|
424
|
+
- test/unit/lookout/diff.rb
|
424
425
|
- test/unit/lookout/diff/algorithms/difflib.rb
|
426
|
+
- test/unit/lookout/diff/algorithms/difflib/position.rb
|
427
|
+
- test/unit/lookout/diff/algorithms/difflib/position/to.rb
|
425
428
|
- test/unit/lookout/diff/formats/inline.rb
|
426
429
|
- test/unit/lookout/diff/formats/unified.rb
|
427
430
|
- test/unit/lookout/diff/group.rb
|
428
431
|
- test/unit/lookout/diff/groups.rb
|
429
432
|
- test/unit/lookout/diff/match.rb
|
433
|
+
- test/unit/lookout/diff/operations.rb
|
430
434
|
- test/unit/lookout/diff/operations/delete.rb
|
431
435
|
- test/unit/lookout/diff/operations/equal.rb
|
432
436
|
- test/unit/lookout/diff/operations/insert.rb
|
433
437
|
- test/unit/lookout/diff/operations/replace.rb
|
434
|
-
- test/unit/lookout/diff/operations.rb
|
435
438
|
- test/unit/lookout/diff/range.rb
|
436
|
-
- test/unit/lookout/diff.rb
|
437
439
|
- test/unit/lookout/equality.rb
|
438
440
|
- test/unit/lookout/expectation.rb
|
441
|
+
- test/unit/lookout/expectations.rb
|
439
442
|
- test/unit/lookout/expectations/behavior.rb
|
440
443
|
- test/unit/lookout/expectations/state.rb
|
441
|
-
- test/unit/lookout/expectations.rb
|
442
|
-
- test/unit/lookout/mock/method/arguments/any.rb
|
443
|
-
- test/unit/lookout/mock/method/arguments.rb
|
444
|
-
- test/unit/lookout/mock/method.rb
|
445
444
|
- test/unit/lookout/mock.rb
|
445
|
+
- test/unit/lookout/mock/method.rb
|
446
|
+
- test/unit/lookout/mock/method/arguments.rb
|
447
|
+
- test/unit/lookout/mock/method/arguments/any.rb
|
446
448
|
- test/unit/lookout/recorder.rb
|
449
|
+
- test/unit/lookout/results.rb
|
447
450
|
- test/unit/lookout/results/error.rb
|
448
451
|
- test/unit/lookout/results/failures/behavior.rb
|
449
452
|
- test/unit/lookout/results/failures/state.rb
|
450
453
|
- test/unit/lookout/results/fulfilled.rb
|
451
|
-
- test/unit/lookout/results.rb
|
452
454
|
- test/unit/lookout/runners/console.rb
|
453
|
-
- test/unit/lookout/stub/method.rb
|
454
455
|
- test/unit/lookout/stub.rb
|
455
|
-
- test/unit/lookout/
|
456
|
+
- test/unit/lookout/stub/method.rb
|
456
457
|
- test/unit/lookout/ui/formatters/exception.rb
|
458
|
+
- test/unit/lookout/ui/formatters/exception/backtrace.rb
|
457
459
|
- test/unit/lookout/xml.rb
|
458
|
-
- test/unit/
|
460
|
+
- test/unit/examples.rb
|
459
461
|
- README
|
460
462
|
- Rakefile
|
461
463
|
has_rdoc: true
|