Commit 7b3c417e authored by Samuel Giddins's avatar Samuel Giddins

[InfoPlistFile] Ensure the version string is exactly three dot-separated numbers

parent 4c7ce87f
...@@ -39,7 +39,8 @@ module Pod ...@@ -39,7 +39,8 @@ module Pod
# #
def target_version def target_version
if target && target.respond_to?(:root_spec) if target && target.respond_to?(:root_spec)
target.root_spec.version.to_s version = target.root_spec.version
[version.major, version.minor, version.patch].join('.')
else else
'1.0.0' '1.0.0'
end end
......
...@@ -7,6 +7,43 @@ describe Pod::Generator::InfoPlistFile do ...@@ -7,6 +7,43 @@ describe Pod::Generator::InfoPlistFile do
generator.target_version.should == '1.0.0' generator.target_version.should == '1.0.0'
end end
describe 'sanitization' do
before do
@root_spec = mock('RootSpec')
pod_target = stub('PodTarget', :root_spec => @root_spec)
@generator = Pod::Generator::InfoPlistFile.new(pod_target)
end
it 'handles when the version is HEAD' do
version = Pod::Version.new('0.2.0')
version.head = true
@root_spec.stubs(:version).returns(version)
@generator.target_version.should == '0.2.0'
end
it 'handles when the version is more than 3 numeric parts' do
version = Pod::Version.new('0.2.0.1')
@root_spec.stubs(:version).returns(version)
@generator.target_version.should == '0.2.0'
end
it 'handles when the version is less than 3 numeric parts' do
version = Pod::Version.new('0.2')
@root_spec.stubs(:version).returns(version)
@generator.target_version.should == '0.2.0'
end
it 'handles when the version is a pre-release' do
version = Pod::Version.new('1.0.0-beta.1')
@root_spec.stubs(:version).returns(version)
@generator.target_version.should == '1.0.0'
version = Pod::Version.new('1.0-beta.5')
@root_spec.stubs(:version).returns(version)
@generator.target_version.should == '1.0.0'
end
end
it 'returns the specification\'s version for the pod target' do it 'returns the specification\'s version for the pod target' do
generator = Pod::Generator::InfoPlistFile.new(fixture_pod_target('orange-framework/OrangeFramework.podspec')) generator = Pod::Generator::InfoPlistFile.new(fixture_pod_target('orange-framework/OrangeFramework.podspec'))
generator.target_version.should == '0.1.0' generator.target_version.should == '0.1.0'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment