Sha256: 6ff9b53a26940fa06a08fa935bffa04d80a54f0729f3ef727ed9dd637437a297

Contents?: true

Size: 838 Bytes

Versions: 3

Compression:

Stored size: 838 Bytes

Contents

require 'fileutils'
require 'jekyll'
require 'key_value_parser'
require 'shellwords'
require_relative '../lib/jekyll_plugin_template'

RSpec.describe(KeyValueParser) do
  it 'parses arguments' do
    argv = 'param0 param1=value1 param2=\'value2\' param3="value3\'s tricky" remainder of line'.shellsplit
    parser = KeyValueParser.new
    options = parser.parse(argv)
    # puts options.map { |k, v| "#{k} = #{v}" }.join("\n")

    expect(options[:param0]).to eq(true)
    expect(options[:param1]).to eq('value1')
    expect(options[:param2]).to eq('value2')
    expect(options[:param3]).to eq("value3's tricky")
    expect(options[:unknown]).to be_nil

    %i[param0 param1 param2 param3].each { |key| options.delete key }
    remainder_of_line = options.keys.join(' ')
    expect(remainder_of_line).to eq('remainder of line')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll_plugin_template-0.3.1 spec/jekyll_plugin_template_spec.rb
jekyll_plugin_template-0.3.0 spec/jekyll_plugin_template_spec.rb
jekyll_plugin_template-0.2.0 spec/jekyll_plugin_template_spec.rb