spec/git_gsub_spec.rb in git-gsub-0.0.10 vs spec/git_gsub_spec.rb in git-gsub-0.0.11
- old
+ new
@@ -27,100 +27,112 @@
File.write(name, content)
`git add .`
`git commit -m 'Add #{name}'`
end
+ let!(:git_gsub_path) {
+ if ENV['USE_RUBY']
+ File.expand_path("../../bin/git-gsub-ruby", __FILE__)
+ else
+ File.expand_path("../../bin/git-gsub", __FILE__)
+ end
+ }
+
around do |example|
run_in_tmp_repo do
example.run
end
end
- it 'should substitute files' do
- commit_file 'README.md', 'Git Subversion Bzr'
- Git::Gsub.run %w[Bzr Mercurial]
+ describe 'Substituting' do
+ it 'should substitute files' do
+ commit_file 'README.md', 'Git Subversion Bzr'
+ `#{git_gsub_path} Bzr Mercurial`
- expect(File.read('README.md')).to eq 'Git Subversion Mercurial'
- end
+ expect(File.read('README.md')).to eq 'Git Subversion Mercurial'
+ end
- it 'should substitute files with case conversion' do
- commit_file 'README.md', 'GitGsub git_gsub git-gsub'
- Git::Gsub.run %w[GitGsub SvnGsub --camel --kebab --snake]
+ it 'should substitute files with case conversion' do
+ commit_file 'README.md', 'GitGsub git_gsub git-gsub'
+ `#{git_gsub_path} GitGsub SvnGsub --camel --kebab --snake`
- expect(File.read('README.md')).to eq 'SvnGsub svn_gsub svn-gsub'
- end
+ expect(File.read('README.md')).to eq 'SvnGsub svn_gsub svn-gsub'
+ end
- it 'should escape well' do
- commit_file 'README.md', %(<h1 class="foo">)
- Git::Gsub.run [%(<h1 class="foo">), %(<h1 class="bar">)]
+ it 'should escape well' do
+ commit_file 'README.md', %(<h1 class="foo">)
+ `#{git_gsub_path} '<h1 class="foo">' '<h1 class="bar">'`
- expect(File.read('README.md')).to eq %(<h1 class="bar">)
- end
+ expect(File.read('README.md')).to eq %(<h1 class="bar">)
+ end
- it 'should substutute @' do
- commit_file 'README.md', %(foo@example.com)
- Git::Gsub.run [%(@example), %(bar@example)]
+ it 'should substutute @' do
+ commit_file 'README.md', %(foo@example.com)
+ `#{git_gsub_path} @example bar@example`
- expect(File.read('README.md')).to eq %(foobar@example.com)
- end
+ expect(File.read('README.md')).to eq %(foobar@example.com)
+ end
- it 'should substitute consequenting @' do
- commit_file 'README.md', %(Hello this is @git)
- Git::Gsub.run [%(@git), %(@@svn)]
+ it 'should substitute consequenting @' do
+ commit_file 'README.md', %(Hello this is @git)
+ `#{git_gsub_path} @git @@svn`
- expect(File.read('README.md')).to eq %(Hello this is @@svn)
- end
+ expect(File.read('README.md')).to eq %(Hello this is @@svn)
+ end
- it %(should substitute " to ') do
- commit_file 'README.md', %(Hello this is "git")
- Git::Gsub.run [%("git"), %('svn')]
+ it %(should substitute " to ') do
+ commit_file 'README.md', %(Hello this is "git")
+ `#{git_gsub_path} '"git"' "'svn'"`
- expect(File.read('README.md')).to eq %(Hello this is 'svn')
- end
+ expect(File.read('README.md')).to eq %(Hello this is 'svn')
+ end
- it %(should substitute ' to ") do
- commit_file 'README.md', %(Hello this is 'git')
- Git::Gsub.run [%('git'), %("svn")]
+ it %(should substitute ' to ") do
+ commit_file 'README.md', %(Hello this is 'git')
+ `#{git_gsub_path} "'git'" '"svn"'`
- expect(File.read('README.md')).to eq %(Hello this is "svn")
- end
+ expect(File.read('README.md')).to eq %(Hello this is "svn")
+ end
- it 'should substitute text including { and }'do
- commit_file 'README.md', %({git{svn})
- Git::Gsub.run [%({git{svn}), %({hg{svn})]
+ it 'should substitute text including { and }'do
+ commit_file 'README.md', %({git{svn})
+ `#{git_gsub_path} {git{svn} {hg{svn}}`
- expect(File.read('README.md')).to eq %({hg{svn})
- end
+ expect(File.read('README.md')).to eq %({hg{svn}})
+ end
- it 'should not create backup file' do
- commit_file 'README.md', 'Git Subversion Bzr'
- Git::Gsub.run %w[Bzr Darcs]
+ it 'should not create backup file' do
+ commit_file 'README.md', 'Git Subversion Bzr'
+ `#{git_gsub_path} Bzr Darcs`
- expect(`ls`).to eql "README.md\n"
+ expect(`ls`).to eql "README.md\n"
+ end
end
- it 'should rename with --rename' do
- commit_file 'README-git_gsub.md', 'GitGsub git_gsub git-gsub'
- Git::Gsub.run %w[GitGsub SvnGsub --snake --rename]
+ describe 'Renaming' do
+ it 'should rename with --rename' do
+ commit_file 'README-git_gsub.md', 'GitGsub git_gsub git-gsub'
+ `#{git_gsub_path} GitGsub SvnGsub --snake --rename`
- expect(`ls`).to eql "README-svn_gsub.md\n"
- expect(File.read('README-svn_gsub.md')).to eq 'SvnGsub svn_gsub git-gsub'
- end
+ expect(`ls`).to eql "README-svn_gsub.md\n"
+ expect(File.read('README-svn_gsub.md')).to eq 'SvnGsub svn_gsub git-gsub'
+ end
- it 'should rename with --rename' do
- commit_file 'lib/git.rb', 'puts "Git"'
- Git::Gsub.run %w[git svn --camel --rename]
+ it 'should rename with --rename' do
+ commit_file 'lib/git.rb', 'puts "Git"'
+ `#{git_gsub_path} git svn --camel --rename`
- expect(`ls lib`).to eql "svn.rb\n"
- expect(File.read('lib/svn.rb')).to eq 'puts "Svn"'
- end
+ expect(`ls lib`).to eql "svn.rb\n"
+ expect(File.read('lib/svn.rb')).to eq 'puts "Svn"'
+ end
- it 'should do nothing if no file found' do
- commit_file 'README-git_gsub.md', 'GitGsub git_gsub git-gsub'
+ it 'should do nothing if no file found' do
+ commit_file 'README-git_gsub.md', 'GitGsub git_gsub git-gsub'
- expect {
- Git::Gsub.run %w[Atlanta Chicago --snake --rename]
- }.not_to raise_error
+ expect {
+ `#{git_gsub_path} Atlanta Chicago --snake --rename`
+ }.not_to raise_error
+ end
end
it 'should output command with dry-run' do
commit_file 'README-git_gsub.md', 'GitGsub git_gsub git-gsub'