Sha256: d3954f9a8082c106ad85dc599f480c5ae48d7c72ce036509d369429a0e3fa363
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
describe Gobstones::Parser, "command blocks" do it "should parse an empty block" do cmd_block = CmdBlock.empty expect('{}').to be_parsed_as(:command).and_return(cmd_block) expect('{ }').to be_parsed_as(:command).and_return(cmd_block) end it "should parse a block with one simple cmd" do cmd_block = CmdBlock.new [Skip.new] expect('{ Skip }').to be_parsed_as(:command).and_return(cmd_block) end it "should parse a block with many simple commands" do first = Poner.new Verde.new second = Boom.new "error" third = Mover.new Oeste.new cmd_block = CmdBlock.new [first, second, third] expect('{ Poner(Verde) BOOM("error") Mover(Oeste) }').to be_parsed_as(:command).and_return(cmd_block) end it "should allow ; between commands" do first = Poner.new Verde.new second = Boom.new "error" third = Mover.new Oeste.new cmd_block = CmdBlock.new [first, second, third] expect('{Poner(Verde); BOOM("error"); Mover(Oeste); }').to be_parsed_as(:command).and_return(cmd_block) end it "should parse a block with simple and complex commands" do first = ProcedureCall.new 'Proc', [] second = IfCmd.new True.new, CmdBlock.empty cmd_block = CmdBlock.new [first, second] expect('{ Proc() if (True) {} }').to be_parsed_as(:command).and_return(cmd_block) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gobstones-0.0.1.1 | spec/parser/command_block_spec.rb |