Sha256: d4b70161bbae828e3484622c0e6f571038863fd800bc02c12f780e11c02b61ef

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe Surveyor::Parser do
  before(:each) do
    @parser = Surveyor::Parser.new
  end
  it "should translate shortcuts into full model names" do
    @parser.send(:full, "section").should == "survey_section"
    @parser.send(:full, "g").should == "question_group"
    @parser.send(:full, "repeater").should == "question_group"
    @parser.send(:full, "label").should == "question"
    @parser.send(:full, "vc").should == "validation_condition"
    @parser.send(:full, "vcondition").should == "validation_condition"
  end
  it "should translate 'condition' based on context" do
    @parser.send(:full, "condition").should == "dependency_condition"
    @parser.send(:full, "c").should == "dependency_condition"
    @parser.context[:validation] = Validation.new
    @parser.send(:full, "condition").should == "validation_condition"
    @parser.send(:full, "c").should == "validation_condition"
    @parser.context[:validation] = nil
    @parser.send(:full, "condition").should == "dependency_condition"
    @parser.send(:full, "c").should == "dependency_condition"
  end
  it "should not translate bad shortcuts" do
    @parser.send(:full, "quack").should == "quack"
    @parser.send(:full, "grizzly").should == "grizzly"
  end
  it "should identify models that take blocks" do
    @parser.send(:block_models).should == %w(survey survey_section question_group)
  end
  it "should return a survey object" do
    Surveyor::Parser.new.parse("survey 'hi' do\n end").is_a?(Survey).should be_true
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
surveyor-1.3.0 spec/lib/parser_spec.rb
surveyor-1.2.0 spec/lib/parser_spec.rb
surveyor-1.1.0 spec/lib/parser_spec.rb
surveyor-1.0.1 spec/lib/parser_spec.rb