Sha256: 651cb6cfe25d9e56a4685eac1c27f76ff7add29f914b4f5f63a8da4143aa5cce

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

# -*- encoding : utf-8 -*-

RSpec.describe Card::Set::All::ReferenceEditor::NestEditor::NestParser do
  def parse nest
    described_class.new nest, :titled, :bar
  end

  context "with field" do
    let(:parser) do
      parse "{{+hi|view: open; show: menu, toggle; wrap: slot; invalid: x"\
                      "|view: titled; hide: header, footer"\
                      "|content; title: subsub}}"
    end

    it "removes + from name" do
      expect(parser.name).to eq "hi"
    end

    specify "#field?" do
      expect(parser.field?).to eq true
    end

    specify "#options" do
      expect(parser.options)
        .to eq [[:view, "open"], [:show, "menu"], [:show, "toggle"], [:wrap, "slot"]]
    end

    specify "#item_options" do
      expect(parser.item_options)
        .to eq [[[:view, "titled"], [:hide, "header"], [:hide, "footer"]],
                [[:view, "content"], [:title, "subsub"]]]
    end
  end

  context "with non-field" do
    let(:parser) do
      parse "{{hi|open; show: menu|view: titled}}"
    end

    specify "name" do
      expect(parser.name).to eq "hi"
    end

    specify "#field?" do
      expect(parser.field?).to eq false
    end

    specify "#options" do
      expect(parser.options)
        .to eq [[:view, "open"], [:show, "menu"]]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
card-1.100.0 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb
card-1.99.6 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb
card-1.99.5 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb
card-1.99.4 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb
card-1.99.3 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb
card-1.99.2 mod/edit/spec/set/all/reference_editor/nest_editor/nest_parser_spec.rb