1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00
pry--pry/lib/pry/testable.rb
Kyrylo Silin 18c45d26c5 rubocop: enable the Style/FrozenStringLiteralComment cop
This will greatly ease Pry support on Ruby 3.0 (when it's out).
2019-05-08 00:13:17 +03:00

68 lines
1.8 KiB
Ruby

# frozen_string_literal: true
# good idea ???
# if you're testing pry plugin you should require pry by yourself, no?
require 'pry' unless defined?(Pry)
class Pry
module Testable
require_relative "testable/pry_tester"
require_relative "testable/evalable"
require_relative "testable/mockable"
require_relative "testable/variables"
require_relative "testable/utility"
#
# When {Pry::Testable} is included into another module or class,
# the following modules are also included: {Pry::Testable::Mockable},
# {Pry::Testable::Evalable}, {Pry::Testable::Variables}, and
# {Pry::Testable::Utility}.
#
# @note
# Each of the included modules mentioned above may also be used
# standalone or in a pick-and-mix fashion.
#
# @param [Module] mod
# A class or module.
#
# @return [void]
#
def self.included(mod)
mod.module_eval do
include Pry::Testable::Mockable
include Pry::Testable::Evalable
include Pry::Testable::Variables
include Pry::Testable::Utility
end
end
#
# Sets various configuration options that make Pry optimal for a test
# environment, see source code for complete details.
#
# @return [void]
#
def self.set_testenv_variables
Pry.config = Pry::Config.new.merge(
color: false,
pager: false,
should_load_rc: false,
should_load_local_rc: false,
correct_indent: false,
collision_warning: false,
history_save: false,
history_load: false,
hooks: Pry::Hooks.new
)
end
#
# Reset the Pry configuration to their default values.
#
# @return [void]
#
def self.unset_testenv_variables
Pry.config = Pry::Config.new
end
end
end