Sha256: 464f928d34f529a79083b3f0c51256aba45a1208d582f8c8fb5133d38c1b3025

Contents?: true

Size: 1.84 KB

Versions: 2

Compression:

Stored size: 1.84 KB

Contents

require_relative 'test_helper'

describe 'Method Command' do
  include TestDsl

  def after_setup
    Byebug::Command.settings[:autolist] = 0
  end

  describe 'show instance method of a class' do
    it 'must show using full command name' do
      enter 'break 15', 'cont', 'method MethodEx'
      debug_file 'method'
      check_output_includes /bla/
      check_output_doesnt_include /foo/
    end

    it 'must show using shortcut' do
      enter 'break 15', 'cont', 'm MethodEx'
      debug_file 'method'
      check_output_includes /bla/
    end

    it 'must show an error if specified object is not a class or module' do
      enter 'break 15', 'cont', 'm a'
      debug_file 'method'
      check_output_includes 'Should be Class/Module: a'
    end
  end

  describe 'show methods of an object' do
    it 'must show using full command name' do
      enter 'break 15', 'cont', 'method instance a'
      debug_file 'method'
      check_output_includes /bla/
      check_output_doesnt_include /foo/
    end

    it 'must show using shortcut' do
      enter 'break 15', 'cont', 'm i a'
      debug_file 'method'
      check_output_includes /bla/
    end
  end

  describe 'show signature of a method' do
    it 'must work' do
      skip('TODO, can\'t install ruby-internal gem')
    end
  end

  describe 'show instance variables of an object' do
    it 'must show using full name command' do
      enter 'break 15', 'cont', 'method iv a'
      debug_file 'method'
      check_output_includes '@a = "b"', '@c = "d"'
    end

    it 'must show using shortcut' do
      enter 'break 15', 'cont', 'm iv a'
      debug_file 'method'
      check_output_includes '@a = "b"', '@c = "d"'
    end
  end

  describe 'Post Mortem' do
    it 'must work in post-mortem mode' do
      enter 'cont', 'm i self'
      debug_file 'post_mortem'
      check_output_includes /to_s/
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
byebug-1.1.1 test/method_test.rb
byebug-1.1.0 test/method_test.rb