Apply PIE to nghttpx
[platform/upstream/nghttp2.git] / third-party / mruby / test / t / ensure.rb
1 ##
2 # ensure Test
3
4 assert('ensure - context - yield') do
5   class EnsureYieldBreak
6     attr_reader :ensure_context
7     def try
8       yield
9     ensure
10       @ensure_context = self
11     end
12   end
13
14   yielder = EnsureYieldBreak.new
15   yielder.try do
16   end
17   assert_equal yielder, yielder.ensure_context
18 end
19
20 assert('ensure - context - yield and break') do
21   class EnsureYieldBreak
22     attr_reader :ensure_context
23     def try
24       yield
25     ensure
26       @ensure_context = self
27     end
28   end
29
30   yielder = EnsureYieldBreak.new
31   yielder.try do
32     break
33   end
34   assert_equal yielder, yielder.ensure_context
35 end
36
37 assert('ensure - context - yield and return') do
38   class EnsureYieldBreak
39     attr_reader :ensure_context
40     def try
41       yield
42     ensure
43       @ensure_context = self
44     end
45   end
46
47   yielder = EnsureYieldBreak.new
48   lambda do
49     yielder.try do
50       return
51     end
52   end.call
53   assert_equal yielder, yielder.ensure_context
54 end