source: EcnlProtoTool/trunk/mruby-1.2.0/test/t/ensure.rb@ 321

Last change on this file since 321 was 321, checked in by coas-nagasima, 7 years ago

文字コードを設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby;charset=UTF-8
File size: 934 bytes
Line 
1##
2# ensure Test
3
4assert('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
18end
19
20assert('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
35end
36
37assert('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
54end
Note: See TracBrowser for help on using the repository browser.