Skip to content

Instantly share code, notes, and snippets.

@echristopherson
Created July 20, 2011 03:02
Show Gist options
  • Save echristopherson/1094244 to your computer and use it in GitHub Desktop.
Save echristopherson/1094244 to your computer and use it in GitHub Desktop.
0 [ ~/Scripts/Git/pry ] $ rake test --trace
rake/gempackagetask is deprecated. Use rubygems/package_task instead
** Invoke test (first_time)
** Execute test
bacon -Itest -rubygems -a
Pry::Helpers::CommandHelpers
get_method_object
- should look up instance methods if no methods available and no options provided
- should look up methods if no instance methods available and no options provided
- should look up instance methods first even if methods available and no options provided
- should look up instance methods if "instance-methods" option provided
- should look up methods if :methods option provided
- should look up instance methods using the Class#method syntax
- should look up methods using the object.method syntax
- should NOT look up instance methods using the Class#method syntax if no instance methods defined
- should NOT look up methods using the object.method syntax if no methods defined
- should look up methods using klass.new.method syntax
- should look up instance methods using klass.meth#method syntax
Pry::CommandProcessor
- should accurately determine if a command is valid
- should correctly match a simple string command
- should correctly match a simple string command with parameters
- should not match when the relevant command does not exist
- should correctly match a regex command
- should correctly match a regex command and extract the capture groups
- should correctly match a string command with spaces in its name
- should correctly match a string command with spaces in its name with parameters
- should correctly match a regex command with spaces in its name
- should correctly match a complex regex command
- should correctly match a command whose name is interpolated
- should correctly match a regex command and interpolation should not break the regex
- should NOT match a regex command that is interpolated when :interpolate => false
- should correctly match a regex command and interpolation should not break the regex where entire regex command is interpolated
- should NOT match a regex command where entire regex command is interpolated and :interpolate => false
- should NOT match a command whose name is interpolated when :interpolate => false
- commands that have :interpolate => false should not be interpolated (interpolate_string should *not* be called)
Pry::CommandSet
- should call the block used for the command when it is called
- should pass arguments of the command to the block
- should use the first argument as self
- should raise an error when calling an undefined command
- should be able to remove its own commands
- should be able to import some commands from other sets
- should be able to import a whole set
- should be able to import sets at creation
- should set the descriptions of commands
- should be able to alias method
- should be able to change the descritpions of methods
- should return nil for commands by default
- should be able to keep return values
- should be able to have its own helpers
- should not recreate a new helper module when helpers is called
- should import helpers from imported sets
- should import helpers even if only some commands are imported
- should provide a :listing for a command that defaults to its name
- should provide a :listing for a command that differs from its name
Pry::DefaultCommands::Context
cd
- should cd into simple input
- should break out of session with cd ..
- should break out to outer-most session with cd /
- should start a session on TOPLEVEL_BINDING with cd ::
- should cd into complex input (with spaces)
Pry::DefaultCommands::Documentation
show-doc
- should output a method's documentation
- should output a method's documentation if inside method without needing to use method name
Pry::DefaultCommands::Gems
gem-list
- should not raise when invoked
Pry::DefaultCommands::Input
amend-line-N
- should correctly amend the last line of input when no line number specified
- should correctly amend the specified line of input when line number given
- should correctly amend the specified line of input when line number given, 0 should behave as 1
- should correctly amend the specified line of input when line number given (negative number)
- should correctly amend the specified range of lines of input when range of negative numbers given (negative number)
- should correctly amend the specified line with string interpolated text
- should display error if nothing to amend
- should correctly amend the specified range of lines
- should correctly delete a specific line using the ! for content
- should correctly delete a range of lines using the ! for content
- should correctly delete the previous line using the ! for content
- should correctly amend the specified range of lines, using negative numbers in range
- should correctly insert a new line of input before a specified line using the > syntax
- should correctly insert a new line of input before a specified line using the > syntax (should ignore second value of range)
show-input
- should correctly show the current lines in the input buffer
!
- should correctly clear the input buffer
play
- should play a string of code (with no args)
- should play an interpolated string of code (with no args)
- should play a method with the -m switch (a single line)
- should play a method with the -m switch (multiple line)
hist
- should display the correct history
- should replay history correctly (single item)
- should replay a range of history correctly (range of items)
- should grep for correct lines in history
- should return last N lines in history with --tail switch
- should return first N lines in history with --head switch
- should show lines between lines A and B with the --show switch
Pry::DefaultCommands::Introspection
show-method
- should output a method's source
- should output a method's source with line numbers
- should output a method's source with line numbers starting at 1
- should output a method's source if inside method without needing to use method name
- should output a method's source if inside method without needing to use method name, and using the -l switch
- should output a method's source for a method defined inside pry
- should output a method's source for a method defined inside pry, even if exceptions raised before hand
- should output an instance method's source for a method defined inside pry
- should output an instance method's source for a method defined inside pry using define_method
show-command
- should show source for an ordinary command
- should show source for a command with spaces in its name
- should show source for a command by listing name
Pry::Commands
help
- should display help for a specific command
- should display help for a regex command with a "listing"
- should display help for a command with a spaces in its name
- should display help for all commands with a description
Pry::HistoryArray
- should have a maximum size specifed at creation time
- should be able to be added objects to
- should be able to access single elements
- should be able to access negative indices
- should be able to access ranges
- should be able to access ranges starting from a negative index
- should be able to access ranges ending at a negative index
- should be able to access ranges using only negative indices
- should be able to use range where end is excluded
- should be able to access slices using a size
- should remove older entries
Ruby Version 1.9.2
Testing Pry 0.9.2
With method_source version 0.6.0
--
Pry
warning emissions
- should emit no warnings [FAILED]
open a Pry session on an object
rep
- should not leak pry constants into Object namespace
- should be able to operate inside the BasicObject class
- should set an ivar on an object
- should make self evaluate to the receiver of the rep session
- should work with multi-line input
- should define a nested class under Hello and not on top-level or Pry
- should suppress output if input ends in a ";" and is an Exception object (single line)
- should suppress output if input ends in a ";" (single line)
- should suppress output if input ends in a ";" (multi-line)
- should be able to evaluate exceptions normally
- should notice when exceptions are raised
repl
basic functionality
- should set an ivar on an object and exit the repl
history arrays
- sets _ to the last result
- sets out to an array with the result
- sets inp to an array with the entered lines
- uses 100 as the size of inp and out
- can change the size of the history arrays
- store exceptions
test loading rc files
- should run the rc file only once
- should not run the rc file at all if Pry.config.should_load_rc is false
- should not load the rc file if #repl method invoked
nesting
- should nest properly
defining methods
- should define a method on the singleton class of an object when performing "def meth;end" inside the object
- should define an instance method on the module when performing "def meth;end" inside the module
- should define an instance method on the class when performing "def meth;end" inside the class
- should define a method on the class of an object when performing "def meth;end" inside an immediate value or Numeric
commands
- should run a command with no parameter
- should run a command with one parameter
Object#pry
- should start a pry session on the receiver (first form)
- should start a pry session on the receiver (second form)
- should error if more than one argument is passed to Object#pry
Pry.binding_for
- should return TOPLEVEL_BINDING if parameter self is main
test Pry defaults
input
- should set the input default, and the default should be overridable
- should pass in the prompt if readline arity is 1
- should not pass in the prompt if the arity is 0
- should not pass in the prompt if the arity is -1
- should set the output default, and the default should be overridable
commands
- should interpolate ruby code into commands
- should not choke on complex string interpolation when checking if ruby code is a command
- should NOT interpolate ruby code into commands if :interpolate => false
- should NOT try to interpolate pure ruby code (no commands) #{aggy}
#{$test_interpolation}
- should create a command with a space in its name
- should create a command with a space in its name and pass an argument
- should create a regex command and be able to invoke it
- should create a regex command and pass captures into the args list before regular arguments
- should create a regex command and interpolate the captures
- should create a regex command and arg_string should be interpolated
- if a regex capture is missing it should be nil
- should create a command in a nested context and that command should be accessible from the parent
- should define a command that keeps its return value
- should define a command that does NOT keep its return value
- should set the commands default, and the default should be overridable
- should inherit "help" command from Pry::CommandBase
- should inherit commands from Pry::Commands
- should alias a command with another command
- should change description of a command using desc
- should run a command from within a command
- should run a regex command from within a command
- should run a command from within a command with arguments
- should enable an inherited method to access opts and output and target, due to instance_exec
- should import commands from another command object
- should delete some inherited commands when using delete method
- should override some inherited commands
- should set the print default, and the default should be overridable
pry return values
- should return the target object
- should return the parameter given to exit
- should return the parameter (multi word string) given to exit
- should return the parameter (function call) given to exit
- should return the parameter (self) given to exit
prompts
- should set the prompt default, and the default should be overridable (single prompt)
- should set the prompt default, and the default should be overridable (multi prompt)
storing and restoring the prompt
- should have a prompt stack
- should restore overridden prompts when returning from file-mode
- #pop_prompt should return the popped prompt
- should not pop the last prompt
#prompt= should replace the current prompt with the new prompt
- when only one prompt on the stack
- when several prompts on the stack
- should set the hooks default, and the default should be overridable
Bacon::Error: false.==(true) failed
test/test_pry.rb:14:in `block (4 levels) in <top (required)>': warning emissions - should emit no warnings
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/open4-1.1.0/lib/open4.rb:67:in `[]'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/open4-1.1.0/lib/open4.rb:67:in `popen4'
test/test_pry.rb:13:in `block (3 levels) in <top (required)>'
test/test_pry.rb:12:in `block (2 levels) in <top (required)>'
test/test_pry.rb:11:in `block in <top (required)>'
test/test_pry.rb:8:in `<top (required)>'
188 specifications (309 requirements), 1 failures, 0 errors
rake aborted!
Command failed with status (1): [bacon -Itest -rubygems -a...]
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `call'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `sh'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/file_utils_ext.rb:36:in `sh'
/Users/eric/Scripts/Git/pry/Rakefile:33:in `block in <top (required)>'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/eric/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:90:in `block (2 levels) in top_level'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:90:in `each'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:90:in `block in top_level'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:62:in `block in run'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load'
/Users/eric/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>'
Tasks: TOP => test
0 [ ~/Scripts/Git/pry ] $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment