Sha256: 81386131ecd371f7e46c0021295d7f1f541721d94eb0e52c75b8f6a895e7eaf5

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

module Byebug
  class RestartExample
    def concat_args(a, b, c)
      a.to_s + b.to_s + c.to_s
    end
  end

  class RestartTestCase < TestCase
    def setup
      @example = -> do
        byebug
        a = ARGV[0]
        b = ARGV[1]
        c = ARGV[2]
        RestartExample.new.concat_args(a, b, c)
      end

      super
    end

    def must_restart(cmd = nil)
      expectation = RestartCommand.any_instance.expects(:exec)
      expectation = expectation.with(cmd) if cmd
    end

    def test_restarts_with_manual_arguments
      cmd = "ruby -rbyebug -I#{$LOAD_PATH.join(' -I')} test/test_helper.rb 1 2"
      must_restart(cmd)

      enter 'restart 1 2'
      debug_proc(@example)
      check_output_includes "Re exec'ing:\n\t#{cmd}"
    end

    def test_still_restarts_shows_messages_when_attached_to_running_program
      must_restart
      enter 'restart'

      debug_proc(@example)
      check_output_includes 'Byebug was not called from the outset...'
      check_output_includes \
        "Program #{Byebug.debugged_program} not executable... " \
        "Wrapping it in a ruby call"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
byebug-3.5.1 test/commands/restart_test.rb