<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>tests/exceptions.vim</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2216,6 +2216,7 @@ endfunction
 function! s:Tests.breakpoint.before()
   let s:Breakpoint.id = 0
   let g:RubyDebugger.frames = []
+  let g:RubyDebugger.exceptions = []
   let g:RubyDebugger.breakpoints = []
   let g:RubyDebugger.variables = {} 
   call g:RubyDebugger.queue.empty() 
@@ -2413,6 +2414,56 @@ function! s:Tests.breakpoint.test_should_open_selected_breakpoint_from_breakpoin
 endfunction
 
 
+let s:Tests.exceptions = {}
+
+function! s:Tests.exceptions.before_all()
+  call s:Mock.mock_debugger()
+endfunction
+
+
+function! s:Tests.exceptions.after_all()
+  call s:Mock.unmock_debugger()
+endfunction
+
+
+function! s:Tests.exceptions.before()
+  let s:Breakpoint.id = 0
+  let g:RubyDebugger.frames = []
+  let g:RubyDebugger.exceptions = []
+  let g:RubyDebugger.variables = {} 
+  call g:RubyDebugger.queue.empty() 
+  call s:Server._stop_server(s:rdebug_port)
+  call s:Server._stop_server(s:debugger_port)
+endfunction
+
+
+function! s:Tests.exceptions.test_should_not_set_exception_catcher_if_debugger_is_not_running(test)
+  call g:RubyDebugger.catch_exception(&quot;NameError&quot;)
+  call g:TU.equal(0, len(g:RubyDebugger.exceptions), &quot;Exception catcher should not be set&quot;, a:test)
+endfunction
+
+
+function! s:Tests.exceptions.test_should_clear_exceptions_after_restarting_debugger(test)
+  exe &quot;Rdebugger&quot;
+  call g:RubyDebugger.catch_exception(&quot;NameError&quot;)
+  call g:TU.equal(1, len(g:RubyDebugger.exceptions), &quot;Exception should be set after starting the server&quot;, a:test)
+  exe &quot;Rdebugger&quot;
+  call g:TU.equal(0, len(g:RubyDebugger.exceptions), &quot;Exception should be cleared after restarting the server&quot;, a:test)
+endfunction
+
+
+function! s:Tests.exceptions.test_should_display_exceptions_in_window_breakpoints(test)
+  exe &quot;Rdebugger&quot;
+  call g:RubyDebugger.catch_exception(&quot;NameError&quot;)
+  call g:RubyDebugger.catch_exception(&quot;ArgumentError&quot;)
+  call g:RubyDebugger.open_breakpoints()
+  call g:TU.match(getline(3), 'Exception breakpoints: NameError, ArgumentError', &quot;Should show exception breakpoints&quot;, a:test)
+  exe 'close'
+endfunction
+
+
+
+
 let s:Tests.frames = {}
 
 function! s:Tests.frames.before_all()</diff>
      <filename>additionals/plugin/ruby_debugger_test.vim</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,7 @@ tests/framework.vim
 tests/mock.vim
 tests/server.vim
 tests/breakpoint.vim
+tests/exceptions.vim
 tests/frames.vim
 tests/variables.vim
 tests/command.vim</diff>
      <filename>ruby_test_plan.txt</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,7 @@ endfunction
 function! s:Tests.breakpoint.before()
   let s:Breakpoint.id = 0
   let g:RubyDebugger.frames = []
+  let g:RubyDebugger.exceptions = []
   let g:RubyDebugger.breakpoints = []
   let g:RubyDebugger.variables = {} 
   call g:RubyDebugger.queue.empty() </diff>
      <filename>tests/breakpoint.vim</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0aef16abe9271dd3dd4afd090d51c5be820eeffc</id>
    </parent>
  </parents>
  <author>
    <name>Anton Astashov</name>
    <email>anton@astashov.net</email>
  </author>
  <url>http://github.com/astashov/vim-ruby-debugger/commit/b8e0e865dbbf37faea5a2c357f733d830d96dda9</url>
  <id>b8e0e865dbbf37faea5a2c357f733d830d96dda9</id>
  <committed-date>2009-11-05T18:48:31-08:00</committed-date>
  <authored-date>2009-11-05T18:48:31-08:00</authored-date>
  <message>Added tests for exceptions catcher</message>
  <tree>ea4f6fbee54e08101836b5d472356486879db768</tree>
  <committer>
    <name>Anton Astashov</name>
    <email>anton@astashov.net</email>
  </committer>
</commit>
