|
require 'rails_helper'
describe GemfileHelper do
context 'parse_each_agent_gem' do
VALID_STRINGS = [
['huginn_nlp_agents(~> 0.2.1)', [
['huginn_nlp_agents', '~> 0.2.1']
]],
['huginn_nlp_agents(~> 0.2.1, git: http://github.com/dsander/huginn.git, branch: agents_in_gems)',
[['huginn_nlp_agents', '~> 0.2.1', git: 'http://github.com/dsander/huginn.git', branch: 'agents_in_gems']]
],
['huginn_nlp_agents(~> 0.2.1, git: http://github.com/dsander/huginn.git, ref: 2342asdab) , huginn_nlp_agents(~> 0.2.1)', [
['huginn_nlp_agents', '~> 0.2.1', git: 'http://github.com/dsander/huginn.git', ref: '2342asdab'],
['huginn_nlp_agents', '~> 0.2.1']
]],
['huginn_nlp_agents(~> 0.2.1, path: /tmp/test)', [
['huginn_nlp_agents', '~> 0.2.1', path: '/tmp/test']
]],
['huginn_nlp_agents', [
['huginn_nlp_agents']
]],
['huginn_nlp_agents, test(0.1), test2(github: test2/huginn_test)', [
['huginn_nlp_agents'],
['test', '0.1'],
['test2', github: 'test2/huginn_test']
]],
['huginn_nlp_agents(git: http://github.com/dsander/huginn.git, ref: 2342asdab)', [
['huginn_nlp_agents', git: 'http://github.com/dsander/huginn.git', ref: '2342asdab']
]],
]
it 'parses valid gem strings correctly' do
VALID_STRINGS.each do |string, outcomes|
GemfileHelper.parse_each_agent_gem(string) do |args|
expect(args).to eq(outcomes.shift)
end
end
end
it 'does nothing when nil is passed' do
expect { |b| GemfileHelper.parse_each_agent_gem(nil, &b) }.not_to yield_control
end
it 'does nothing when an empty string is passed' do
expect { |b| GemfileHelper.parse_each_agent_gem('', &b) }.not_to yield_control
end
end
end
|