Sha256: 96c78002bff93b4c458dfe8ab62f5d9b9c75c39eb70c9a80bdecadb9b5822c20

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

require 'spec_helper'
module Gisele::Language::Syntax
  describe Grammar, 'case_st' do

    it 'supports a single when clause' do
      expr = <<-CASE_ST.strip
        case
        when goodCond
          Task1
        end
      CASE_ST
      parse(expr, :case_st).should eq(expr)
    end

    it 'supports boolean expressions in when clauses' do
      expr = <<-CASE_ST.strip
        case
        when not(goodCond) or badCond
          Task1
        end
      CASE_ST
      parse(expr, :case_st).should eq(expr)
    end

    it 'supports a multiple when clauses' do
      expr = <<-CASE_ST.strip
        case
        when goodCond
          Task1
        when badCond
          Task2
        end
      CASE_ST
      parse(expr, :case_st).should eq(expr)
    end

    it 'supports an else clause' do
      expr = <<-CASE_ST.strip
        case
        when goodCond
          Task1
        else
          Task2
        end
      CASE_ST
      parse(expr, :case_st).should eq(expr)
    end

    it 'supports an optional variable name' do
      expr = <<-CASE_ST.strip
        case someVariable
        when goodCond
          Task1
        end
      CASE_ST
      parse(expr, :case_st).should eq(expr)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gisele-0.4.0 spec/unit/language/syntax/grammar/test_case_st.rb
gisele-0.3.0 spec/unit/language/syntax/grammar/test_case_st.rb