diff options
Diffstat (limited to 'test/functional')
| -rw-r--r-- | test/functional/ex_cmds/profile_spec.lua | 76 | 
1 files changed, 63 insertions, 13 deletions
| diff --git a/test/functional/ex_cmds/profile_spec.lua b/test/functional/ex_cmds/profile_spec.lua index f185db192a..2b92f8d0de 100644 --- a/test/functional/ex_cmds/profile_spec.lua +++ b/test/functional/ex_cmds/profile_spec.lua @@ -6,6 +6,9 @@ local eval     = helpers.eval  local command  = helpers.command  local eq, neq  = helpers.eq, helpers.neq  local tempfile = helpers.tmpname() +local source   = helpers.source +local matches  = helpers.matches +local read_file = helpers.read_file  -- tmpname() also creates the file on POSIX systems. Remove it again.  -- We just need the name, ignoring any race conditions. @@ -32,20 +35,67 @@ describe(':profile', function()      end    end) -  it('dump', function() -    eq(0, eval('v:profiling')) -    command('profile start ' .. tempfile) -    eq(1, eval('v:profiling')) -    assert_file_exists_not(tempfile) -    command('profile dump') -    assert_file_exists(tempfile) +  describe('dump', function() +    it('works', function() +      eq(0, eval('v:profiling')) +      command('profile start ' .. tempfile) +      eq(1, eval('v:profiling')) +      assert_file_exists_not(tempfile) +      command('profile dump') +      assert_file_exists(tempfile) +    end) + +    it('not resetting the profile', function() +      source([[ +        function! Test() +        endfunction +      ]]) +      command('profile start ' .. tempfile) +      assert_file_exists_not(tempfile) +      command('profile func Test') +      command('call Test()') +      command('profile dump') +      assert_file_exists(tempfile) +      local profile = read_file(tempfile) +      matches('Called 1 time', profile) +      command('call Test()') +      command('profile dump') +      assert_file_exists(tempfile) +      profile = read_file(tempfile) +      matches('Called 2 time', profile) +      command('profile stop') +    end)    end) -  it('stop', function() -    command('profile start ' .. tempfile) -    assert_file_exists_not(tempfile) -    command('profile stop') -    assert_file_exists(tempfile) -    eq(0, eval('v:profiling')) +  describe('stop', function() +    it('works', function() +      command('profile start ' .. tempfile) +      assert_file_exists_not(tempfile) +      command('profile stop') +      assert_file_exists(tempfile) +      eq(0, eval('v:profiling')) +    end) + +    it('resetting the profile', function() +      source([[ +        function! Test() +        endfunction +      ]]) +      command('profile start ' .. tempfile) +      assert_file_exists_not(tempfile) +      command('profile func Test') +      command('call Test()') +      command('profile stop') +      assert_file_exists(tempfile) +      local profile = read_file(tempfile) +      matches('Called 1 time', profile) +      command('profile start ' .. tempfile) +      command('profile func Test') +      command('call Test()') +      command('profile stop') +      assert_file_exists(tempfile) +      profile = read_file(tempfile) +      matches('Called 1 time', profile) +    end)    end)  end) | 
