spec/lib/sysadmin/directory_spec.rb in sysadmin-0.1.5 vs spec/lib/sysadmin/directory_spec.rb in sysadmin-0.2.0

- old
+ new

@@ -1,56 +1,70 @@ # -*- coding: utf-8 -*- require File.dirname(__FILE__) + '/../../spec_helper' -describe Sysadmin::Directory, 'Directory クラス' do - context 'で map メソッドを呼ぶ場合' do - describe 'ディレクトリ名を指定すると' do - it "ディレクトリ内のファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).map{|f|f}.should have(9).items +describe Sysadmin::Directory do + describe '#map' do + context 'specify directory name' do + subject { Sysadmin::Directory.new(dir) } + let(:dir) { File.expand_path("../../test_dir", File.dirname(__FILE__)) } + + it 'should return file list in directory' do + expect(subject).to have(9).items end end - describe 'ディレクトリ名を指定すると' do - it "ディレクトリ内のファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir/a", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).map{|f|f}.should have(4).items + context 'specify directory name' do + subject { Sysadmin::Directory.new(dir) } + let(:dir) { File.expand_path("../../test_dir/a", File.dirname(__FILE__)) } + + it 'should return file list in directory' do + expect(subject).to have(4).items end end - describe 'ディレクトリ名を指定すると' do - it "ディレクトリ内のファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir/a/g", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).map{|f|f}.should have(2).item + context 'specify directory name' do + subject { Sysadmin::Directory.new(dir) } + let(:dir) { File.expand_path("../../test_dir/a/g", File.dirname(__FILE__)) } + + it 'should return file list in directory' do + expect(subject).to have(2).items end end - describe 'ディレクトリ名を指定すると' do - it "ディレクトリ内のファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir/b", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).map{|f|f}.should have(2).item + context 'specify directory name' do + subject { Sysadmin::Directory.new(dir) } + let(:dir) { File.expand_path("../../test_dir/b", File.dirname(__FILE__)) } + + it 'should return file list in directory' do + expect(subject).to have(2).items end end - describe 'ディレクトリ名を指定し grep すると' do - it "ディレクトリ内の grep に適合したファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).grep(/\.txt/).should have(9).item + context 'specify directory name with grep' do + subject { Sysadmin::Directory.new(dir).grep(/\.txt/) } + let(:dir) { File.expand_path("../../test_dir", File.dirname(__FILE__)) } + + it 'should return file list matching regexp' do + expect(subject).to have(9).item end end - describe 'ディレクトリ名を指定し grep すると' do - it "ディレクトリ内の grep に適合したファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).grep(/d\.txt/).should have(1).items + context 'specify directory name with grep' do + subject { Sysadmin::Directory.new(dir).grep(/d\.txt/) } + let(:dir) { File.expand_path("../../test_dir", File.dirname(__FILE__)) } + + it 'should return file list matching regexp' do + expect(subject).to have(1).item end end - describe 'ディレクトリ名を指定し grep して take すると' do - it "ディレクトリ内の grep に適合し take した数だけファイル一覧が返却される" do - test_dir = File.expand_path("../../test_dir", File.dirname(__FILE__)) - Sysadmin::Directory.new(test_dir).grep(/\.txt/).take(3).should have(3).items + context 'specify directory name with grep and take' do + subject { Sysadmin::Directory.new(dir).grep(/\.txt/).take(3) } + let(:dir) { File.expand_path("../../test_dir", File.dirname(__FILE__)) } + + it 'should return picked up file list matching regexp' do + expect(subject).to have(3).items end end end end