pry--pry/spec/commands/gist_spec.rb

80 lines
2.1 KiB
Ruby

# These tests are out of date.
# THey need to be updated for the new 'gist' API, but im too sleepy to
# do that now.
require 'helper'
describe 'gist' do
it 'has a dependency on the jist gem' do
Pry::Command::Gist.command_options[:requires_gem].should == "jist"
end
end
# before do
# Pad.jist_calls = {}
# end
# # In absence of normal mocking, just monkeysmash these with no undoing after.
# module Jist
# class << self
# def login!; Pad.jist_calls[:login!] = true end
# def gist(*args)
# Pad.jist_calls[:gist_args] = args
# {'html_url' => 'http://gist.blahblah'}
# end
# def copy(content); Pad.jist_calls[:copy_args] = content end
# end
# end
# module Pry::Gist
# # a) The actual require fails for jruby for some odd reason.
# # b) 100% of jist should be stubbed by the above, so this ensures that.
# def self.require_jist; 'nope' end
# end
# it 'nominally logs in' do
# pry_eval 'gist --login'
# Pad.jist_calls[:login!].should.not.be.nil
# end
# EXAMPLE_REPL_METHOD = <<-EOT
# # docdoc
# def my_method
# # line 1
# 'line 2'
# line 3
# Line.four
# end
# EOT
# RANDOM_COUPLE_OF_LINES = %w(a=1 b=2)
# run_case = proc do |sym|
# actual_command = Pry::Gist.example_code(sym)
# pry_eval EXAMPLE_REPL_METHOD, RANDOM_COUPLE_OF_LINES, actual_command
# end
# it 'deduces filenames' do
# Pry::Gist::INVOCATIONS.keys.each do |e|
# run_case.call(e)
# if Pad.jist_calls[:gist_args]
# text, args = Pad.jist_calls[:gist_args]
# args[:filename].should.not == '(pry)'
# end
# Pad.jist_calls[:copy_args].should.not.be.nil
# end
# end
# it 'equates aliae' do
# run_case.call(:clipit).should == run_case.call(:cliponly)
# run_case.call(:jist).should == run_case.call(:class)
# end
# it 'has a reasonable --help' do
# help = pry_eval('gist --help')
# Pry::Gist::INVOCATIONS.keys.each do |e|
# help.should.include? Pry::Gist.example_code(e)
# help.should.include? Pry::Gist.example_description(e)
# end
# end
# end