Skip to content

Commit

Permalink
add some rspecs.
Browse files Browse the repository at this point in the history
  • Loading branch information
hirakiuc committed Jun 29, 2014
1 parent 06a6dd2 commit 517c663
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 5 deletions.
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--color
13 changes: 9 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ source 'https://rubygems.org'
# Specify your gem's dependencies in bitbucket.gemspec
gemspec

gem 'rubocop'
gem 'pry'
gem 'pry-stack_explorer'
gem 'pry-byebug'
group :development do
gem 'rubocop'
gem 'pry'
gem 'pry-stack_explorer'
gem 'pry-byebug'

gem 'guard-rspec'
gem 'guard-spork'
end
4 changes: 4 additions & 0 deletions Guardfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
guard 'rspec' , cli: '--drb' do
watch(%r{^lib/(.+).rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^spec/(.+).rb$}) { |m| "spec/#{m[1]}_spec.rb" }
end
33 changes: 33 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,35 @@
require 'rubygems'
require 'bundler/setup'

require "bundler/gem_tasks"

# https://github.com/sferik/twitter/blob/master/Rakefile
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
task :test => :spec

begin
require 'rubocop/rake_task'
RuboCop::RakeTask.new
rescue LoadError
task :rubocop do
$stderr.puts 'Rubocop is disabled.'
end
end

=begin
require 'yard'
YARD::Rake::YardocTask.new
require 'yardstick/rake/measurement'
Yardstick::Rake::Measurement.new do |measurement|
measurement.output = 'measurement/report.txt'
end
require 'yardstick/rake/verify'
Yardstick::Rake::Verify.new do |verify|
verify.threshold = 59.6
end
=end

task :default => [:spec, :rubocop]
3 changes: 3 additions & 0 deletions bitbucket.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,7 @@ Gem::Specification.new do |spec|

spec.add_development_dependency "bundler", "~> 1.6"
spec.add_development_dependency "rake"
spec.add_development_dependency 'rspec'
spec.add_development_dependency 'rspec-mocks'
spec.add_development_dependency 'webmock'
end
6 changes: 5 additions & 1 deletion lib/bitbucket/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ module Bitbucket
class Client
include ActiveSupport::Configurable

def initialize(_options)
def initialize(options)
options.each_pair do |key, value|
config.send("#{key}=", value)
end

yield(config) if block_given?
end

Expand Down
32 changes: 32 additions & 0 deletions spec/lib/bitbucket_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
require 'spec_helper'

RSpec.describe Bitbucket do

describe 'new' do
let(:options){ { key: 'value' } }

shared_examples_for 'return client instance which configured with options' do
it 'return client instance which configured with options' do
expect(subject).to be_instance_of(Bitbucket::Client)
expect(subject.config).to eq(options)
end
end

context 'when options passed' do
subject{ Bitbucket.new(options) }
it_behaves_like 'return client instance which configured with options'
end

context 'when block given' do
subject{ Bitbucket.new(&block) }
let(:block) do
->(config) {
options.each_pair do |key, value|
config.send("#{key}=", value)
end
}
end
it_behaves_like 'return client instance which configured with options'
end
end
end
11 changes: 11 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require 'rubygems'
require 'bundler/setup'

require 'bitbucket'
require 'rspec'
require 'webmock/rspec'
require 'pry'

RSpec.configure do |config|

end

0 comments on commit 517c663

Please sign in to comment.