Sha256: cbdc04cebd3f8132fb0a932057c3c806d8e482c78d11b35fea3ca81d35cfa0c4
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true class Code class Parser class Nothing < Language def nothing_keyword str("nothing") end def root nothing_keyword.aka(:nothing) end end class ThenWithBuffer < Language def root any.repeat(1).then { "something-else" } end end class ThenWithBufferTransformed < Language def root any.repeat(1).then { |buffer| buffer.upcase } end end class ThenWithOutput < Language def root any.repeat(1).aka(:something).then do |output| output[:something].upcase end end end end end RSpec.describe Language do it "works with nothing" do expect(Code::Parser::Nothing.parse("nothing")).to eq({ nothing: "nothing" }) end it "works with then with buffer" do expect(Code::Parser::ThenWithBuffer.parse("something")).to eq("something-else") end it "works with then with buffer transformed" do expect(Code::Parser::ThenWithBufferTransformed.parse("something")).to eq("SOMETHING") end it "works with then with output" do expect(Code::Parser::ThenWithOutput.parse("value")).to eq("VALUE") end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
language-ruby-0.8.1 | spec/language_spec.rb |
language-ruby-0.8.0 | spec/language_spec.rb |
language-ruby-0.7.0 | spec/language_spec.rb |