Sha256: b9247348c3a9fa019be838697d49475bf75e0975fb0043343bcd00b5ee046270

Contents?: true

Size: 873 Bytes

Versions: 1

Compression:

Stored size: 873 Bytes

Contents

# frozen_string_literal: true

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

    [: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

1 entries across 1 versions & 1 rubygems

Version Path
jekyll_plugin_template-0.1.3 spec/jekyll_plugin_template_spec.rb