# encoding: UTF-8
require 'spec_helper'
describe SvnUpdater do
before :each do
@svn_updater = SvnUpdater.new
end
describe '#is_installed?' do
after :each do
stub_system_command(@svn_updater, /^svn info/, @stub_value)
@svn_updater.is_installed?.should === @expected
end
it 'should return false if the svn command is not found' do
@stub_value = 'svn: command not found'
@expected = false
end
it 'should return false if the repository is not manage by svn' do
@stub_value = "svn: '.' is not a working copy"
@expected = false
end
it 'should return true' do
@stub_value = '
https://wpscan.googlecode.com/svn/trunk
https://wpscan.googlecode.com/svn
0b0242d5-46e6-2201-410d-bc09fd35266c
normal
infinity
author@mail.tld
2012-06-02T06:26:25.309806Z
'
@expected = true
end
end
describe '#local_revision_number' do
after :each do
stub_system_command(@svn_updater, /^svn info/, @stub_value)
@svn_updater.local_revision_number.should === @expected
end
it 'should return 399' do
@stub_value = '
https://wpscan.googlecode.com/svn/trunk
https://wpscan.googlecode.com/svn
0b0242d5-46e6-2201-410d-bc09fd35266c
normal
infinity
author@mail.tld
2012-06-02T06:26:25.309806Z
'
@expected = '362'
end
end
describe '#update' do
it 'should do nothing xD' do
stub_system_command(@svn_updater, /^svn up/, 'At revision 425.')
@svn_updater.update().should === 'At revision 425.'
end
end
end