Sha256: 92e8192d8a41c650ed19f6e1ab3e68cd37a49681f2d006713d348b8cf721b2bd
Contents?: true
Size: 1.18 KB
Versions: 13
Compression:
Stored size: 1.18 KB
Contents
require "spec_helper" require "sie/parser/tokenizer" describe Sie::Parser::Tokenizer do it "tokenizes the given line" do tokenizer = Sie::Parser::Tokenizer.new('#TRANS 2400 {} -200 20130101 "Foocorp expense"') tokens = tokenizer.tokenize expect(token_table_for(tokens)).to eq([ [ "EntryToken", "TRANS" ], [ "StringToken", "2400" ], [ "BeginArrayToken", "" ], [ "EndArrayToken", "" ], [ "StringToken", "-200" ], [ "StringToken", "20130101" ], [ "StringToken", "Foocorp expense" ] ]) end it "can parse metadata arrays" do tokenizer = Sie::Parser::Tokenizer.new('#TRANS 2400 { 1 "2" } -200 20130101 "Foocorp expense"') tokens = tokenizer.tokenize expect(token_table_for(tokens)).to eq([ [ "EntryToken", "TRANS" ], [ "StringToken", "2400" ], [ "BeginArrayToken", "" ], [ "StringToken", "1" ], [ "StringToken", "2" ], [ "EndArrayToken", "" ], [ "StringToken", "-200" ], [ "StringToken", "20130101" ], [ "StringToken", "Foocorp expense" ] ]) end def token_table_for(tokens) tokens.map { |token| [ token.class.name.split("::").last, token.value ] } end end
Version data entries
13 entries across 13 versions & 1 rubygems