power_assert 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 684759080498a0613ab5fb1ef612779f8febc158
4
- data.tar.gz: 13c829bcc4741384b7563b8ede818ae2a21880fd
3
+ metadata.gz: 2c2656987c0dd57b4eaccc2309d1b5f9c4eac0d3
4
+ data.tar.gz: 04d870b66c36f4ba7beba83c3a0a764f27ee9da5
5
5
  SHA512:
6
- metadata.gz: 320a144a00e75cb536f4ec4725c8f36e3e143a4899a27878a7d0f5bc46403aab46cf824c7f956b19a108fa10c1e8c7f2f49a5cb8aef3b1566110d47a433181ed
7
- data.tar.gz: bafb11bdf504694f8bc79d3ba6664d1797d2c92d1e0458ab220a92b624709f291039f9ae91f2e738de7779e0c1f130934d49e9616b3e12c2670af05531955633
6
+ metadata.gz: ea20c40cb70c29ad969f89e39a5e9d9974a2e3e3102d62dc04e0c817f91acb51b10c0bdeaadf88a7577ce8cfc5f2392894b3f156c0bf4f587386109b47f29b11
7
+ data.tar.gz: 196d7ce2dbfb15a2b08a117d7bdb760dc40b9c437902fd1c5a0a1a1ae8c8e07ea8fb9101e9c791f32e2002ce0c4c81c10dad1831eff2b7dc7adc44f86881abe4
data/README.rdoc CHANGED
@@ -7,7 +7,6 @@ It is useful for testing, providing which value wasn't correct when the conditio
7
7
 
8
8
  == Related Projects
9
9
  * {test-unit}[https://github.com/test-unit/test-unit](>= 3.0.0)
10
- * {test-unit-power_assert}[https://github.com/k-tsj/test-unit-power_assert]
11
10
  * {minitest-power_assert}[https://github.com/hsbt/minitest-power_assert]
12
11
  * {pry-power_assert}[https://github.com/yui-knk/pry-power_assert]
13
12
  * {rspec-power_assert}[https://github.com/joker1007/rspec-power_assert]
data/lib/power_assert.rb CHANGED
@@ -51,19 +51,26 @@ module PowerAssert
51
51
 
52
52
  def app_context?
53
53
  top_frame = caller_locations.drop_while {|i| i.path.start_with?(POWER_ASSERT_LIB_DIR) }.first
54
- top_frame && ! ignored_file?(top_frame.path)
54
+ top_frame and ! ignored_file?(top_frame.path)
55
55
  end
56
56
 
57
57
  private
58
58
 
59
59
  def ignored_file?(file)
60
- IGNORED_LIB_DIRS[Byebug] = lib_dir(Byebug, :attach, 2) if defined?(Byebug) and ! IGNORED_LIB_DIRS[Byebug]
61
- IGNORED_LIB_DIRS[PryByebug] = lib_dir(Pry, :start_with_pry_byebug, 2) if defined?(PryByebug) and ! IGNORED_LIB_DIRS[PryByebug]
60
+ setup_ignored_lib_dir(Byebug, :attach, 2) if defined?(Byebug)
61
+ setup_ignored_lib_dir(PryByebug, :start_with_pry_byebug, 2, Pry) if defined?(PryByebug)
62
62
  IGNORED_LIB_DIRS.find do |_, dir|
63
63
  file.start_with?(dir)
64
64
  end
65
65
  end
66
66
 
67
+ def setup_ignored_lib_dir(lib, mid, depth, lib_obj = lib)
68
+ unless IGNORED_LIB_DIRS.key?(lib)
69
+ IGNORED_LIB_DIRS[lib] = lib_dir(lib_obj, mid, depth)
70
+ end
71
+ rescue NameError
72
+ end
73
+
67
74
  def lib_dir(obj, mid, depth)
68
75
  File.expand_path('../' * depth, obj.method(mid).source_location[0])
69
76
  end
@@ -23,7 +23,6 @@ module PowerAssert
23
23
  next if ! method_id_set[method_id]
24
24
  next if tp.event == :c_return and
25
25
  not (@parser.lineno == tp.lineno and @parser.path == tp.path)
26
- next unless tp.binding # workaround for ruby 2.2
27
26
  locs = PowerAssert.app_caller_locations
28
27
  diff = locs.length - base_caller_length
29
28
  if (tp.event == :c_return && diff == 1 || tp.event == :return && diff <= 2) and Thread.current == @target_thread
@@ -151,8 +150,10 @@ module PowerAssert
151
150
  locs = PowerAssert.app_caller_locations
152
151
  path = locs.last.path
153
152
  lineno = locs.last.lineno
154
- line ||= open(path).each_line.drop(lineno - 1).first
155
- @parser = Parser.new(line, path, lineno, @assertion_proc.binding, assertion_method.to_s)
153
+ if File.exist?(path)
154
+ line ||= open(path).each_line.drop(lineno - 1).first
155
+ @parser = Parser.new(line, path, lineno, @assertion_proc.binding, assertion_method.to_s)
156
+ end
156
157
  end
157
158
  end
158
159
  end
@@ -180,8 +181,12 @@ module PowerAssert
180
181
  super(base.length)
181
182
  path = target_frame.path
182
183
  lineno = target_frame.lineno
183
- line = open(path).each_line.drop(lineno - 1).first
184
- @parser = Parser.new(line, path, lineno, binding)
184
+ if File.exist?(path)
185
+ line = open(path).each_line.drop(lineno - 1).first
186
+ @parser = Parser.new(line, path, lineno, binding)
187
+ else
188
+ @parser = Parser::DUMMY
189
+ end
185
190
  end
186
191
 
187
192
  def enable
@@ -212,7 +212,7 @@ module PowerAssert
212
212
  if node.kind_of?(Branch)
213
213
  prefixes = node.flat_map {|n| collect_paths(n, prefixes, 0) }
214
214
  else
215
- prefixes = prefixes.empty? ? [[node]] : prefixes.map {|prefix| prefix + [node] }
215
+ prefixes = prefixes.map {|prefix| prefix + [node] }
216
216
  end
217
217
  collect_paths(idents, prefixes, index + 1)
218
218
  else
@@ -1,3 +1,3 @@
1
1
  module PowerAssert
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power_assert
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuki Tsujimoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-29 00:00:00.000000000 Z
11
+ date: 2017-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit