spec/lib/metasploit/credential/version_spec.rb in metasploit-credential-1.0.0.pre.rails.pre.4.0 vs spec/lib/metasploit/credential/version_spec.rb in metasploit-credential-1.0.0
- old
+ new
@@ -1,139 +1,3 @@
-require 'spec_helper'
-
-describe Metasploit::Credential::Version do
- context 'CONSTANTS' do
- context 'MAJOR' do
- subject(:major) do
- described_class::MAJOR
- end
-
- it { should be_a Integer }
- end
-
- context 'MINOR' do
- subject(:minor) do
- described_class::MINOR
- end
-
- it { should be_a Integer }
- end
-
- context 'PATCH' do
- subject(:patch) do
- described_class::PATCH
- end
-
- it { should be_a Integer }
- end
-
- pull_request = ENV['TRAVIS_PULL_REQUEST']
-
- # a pull request cannot check PRERELEASE because it will be tested in the target branch, but the source itself
- # is from the source branch and so has the source branch PRERELEASE.
- #
- # PRERELEASE can only be set appropriately for a merge by merging to the target branch and then updating PRERELEASE
- # on the target branch before committing and/or pushing to github and travis-ci.
- if pull_request.nil? || pull_request == 'false'
- context 'PREPRELEASE' do
- subject(:prerelease) do
- described_class::PRERELEASE
- end
-
- branch = ENV['TRAVIS_BRANCH']
-
- if branch.blank?
- branch = `git rev-parse --abbrev-ref HEAD`.strip
- end
-
- if branch == 'master'
- it 'does not have a PRERELEASE' do
- expect(defined? described_class::PRERELEASE).to be_nil
- end
- else
- branch_regex = %r{\A(?:refs/remotes/)?(?<type>bug|chore|feature|staging)(/(?<story>[^/]+))?/(?<prerelease>[^\/]+)\z}
- match = branch.match(branch_regex)
-
- if match
- it 'matches the branch relative name' do
- expect(prerelease).to eq(match[:prerelease])
- end
- else
- tag_regex = /\Av(?<major>\d+).(?<minor>\d+).(?<patch>\d+)(\.pre\.(?<prerelease>.*))?\z/
- # travis-ci sets TRAVIS_BRANCH to the tag name for tag builds
- match = branch.match(tag_regex)
-
- if match
- tag_prerelease = match[:prerelease]
-
- if tag_prerelease
- it 'matches the tag prerelease converted from a gem version to a VERSION' do
- expect(prerelease).to eq(tag_prerelease.gsub('.pre.', '-'))
- end
- else
- it 'does not have a PRERELEASE' do
- expect(defined? described_class::PRERELEASE).to be_nil
- end
- end
- else
- it 'has a abbreviated reference that can be parsed for prerelease' do
- fail "Do not know how to parse #{branch.inspect} for PRERELEASE"
- end
- end
- end
- end
- end
- end
- end
-
- context 'full' do
- subject(:full) do
- described_class.full
- end
-
- #
- # lets
- #
-
- let(:major) do
- 1
- end
-
- let(:minor) do
- 2
- end
-
- let(:patch) do
- 3
- end
-
- before(:each) do
- stub_const("#{described_class}::MAJOR", major)
- stub_const("#{described_class}::MINOR", minor)
- stub_const("#{described_class}::PATCH", patch)
- end
-
- context 'with PRERELEASE' do
- let(:prerelease) do
- 'prerelease'
- end
-
- before(:each) do
- stub_const("#{described_class}::PRERELEASE", prerelease)
- end
-
- it 'is <major>.<minor>.<patch>-<prerelease>' do
- expect(full).to eq("#{major}.#{minor}.#{patch}-#{prerelease}")
- end
- end
-
- context 'without PRERELEASE' do
- before(:each) do
- hide_const("#{described_class}::PRERELEASE")
- end
-
- it 'is <major>.<minor>.<patch>' do
- expect(full).to eq("#{major}.#{minor}.#{patch}")
- end
- end
- end
-end
\ No newline at end of file
+RSpec.describe Metasploit::Credential::Version do
+ it_should_behave_like 'Metasploit::Version Version Module'
+end