Sha256: d1e74006a5e26c85d680bbe24ba586f1111fce80aa03b008697e7f4c5158cc26

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'
module Gisele::Language
  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

4 entries across 4 versions & 2 rubygems

Version Path
gisele-language-0.6.0 spec/language/syntax/grammar/test_case_st.rb
gisele-language-0.5.1 spec/language/syntax/grammar/test_case_st.rb
gisele-language-0.5.0 spec/language/syntax/grammar/test_case_st.rb
gisele-0.5.0 spec/unit/language/syntax/grammar/test_case_st.rb