Sha256: a0acbbeb4799403d311a66a325728e2dd4145531a1573e3384357494664549e6
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
require 'spec_helper' require 'logfmt/parser' describe Logfmt::Parser do it 'parse empty log line' do data = Logfmt.parse("") expect(data).to eq({}) end it 'parse whitespace only log line' do data = Logfmt.parse("\t") expect(data).to eq({}) end it 'parse key without value' do data = Logfmt.parse("key") expect(data).to eq({:key => true}) end it 'parse key without value and whitespace' do data = Logfmt.parse(" key ") expect(data).to eq({:key => true}) end it 'parse multiple single keys' do data = Logfmt.parse("key1 key2") expect(data).to eq({:key1 => true, :key2 => true}) end it 'parse unquoted value' do data = Logfmt.parse("key=value") expect(data).to eq({:key => "value"}) end it 'parse pairs' do data = Logfmt.parse("key1=value1 key2=value2") expect(data).to eq({:key1 => "value1", :key2 => "value2"}) end it 'parse mixed single/non-single pairs' do data = Logfmt.parse("key1=value1 key2") expect(data).to eq({:key1 => "value1", :key2 => true}) end it 'parse mixed pairs whatever the order' do data = Logfmt.parse("key1 key2=value2") expect(data).to eq({:key1 => true, :key2 => "value2"}) end it 'parse quoted value' do data = Logfmt.parse('key="quoted value"') expect(data).to eq({:key => "quoted value"}) end it 'parse escaped quote value' do data = Logfmt.parse('key="quoted \" value"') expect(data).to eq({:key => 'quoted " value'}) end it 'parse mixed pairs' do data = Logfmt.parse('key1="quoted \" value" key2 key3=value3') expect(data).to eq({:key1 => 'quoted " value', :key2 => true, :key3 => "value3"}) end it 'parse mixed characters pairs' do data = Logfmt.parse('foo=bar a=14 baz="hello kitty" cool%story=bro f %^asdf') expect(data).to eq({:foo => "bar", :a => "14", :baz => "hello kitty", :"cool%story" => "bro", :f => true, :"%^asdf" => true}) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
logfmt-0.0.1 | spec/logfmt/parser_spec.rb |