Sha256: 4925799823eff1e6608005b2af4001f0773ddf2fcb40f2bfc86f3841580375aa

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

require 'cucumber/file_specs'

module Cucumber
  describe FileSpecs do
    let(:file_specs) { FileSpecs.new(["features/foo.feature:1:2:3", "features/bar.feature:4:5:6"]) }
    let(:locations) { file_specs.locations }
    let(:files) { file_specs.files }

    it "parses locations from multiple files" do
      expect(locations.length).to eq 6
      expect(locations).to eq [
        Cucumber::Core::Ast::Location.new("features/foo.feature", 1),
        Cucumber::Core::Ast::Location.new("features/foo.feature", 2),
        Cucumber::Core::Ast::Location.new("features/foo.feature", 3),
        Cucumber::Core::Ast::Location.new("features/bar.feature", 4),
        Cucumber::Core::Ast::Location.new("features/bar.feature", 5),
        Cucumber::Core::Ast::Location.new("features/bar.feature", 6),
      ]
    end

    it "parses file names from multiple file specs" do
      expect(files.length).to eq 2
      expect(files).to eq [
        "features/foo.feature",
        "features/bar.feature",
      ]
    end

    context "when files are not unique" do
      let(:file_specs) { FileSpecs.new(["features/foo.feature:4", "features/foo.feature:34"]) }

      it "parses unique file names" do
        expect(files.length).to eq 1
        expect(files).to eq ["features/foo.feature"]
      end
    end

    context "when no line number is specified" do
      let(:file_specs) { FileSpecs.new(["features/foo.feature", "features/bar.feature:34"]) }

      it "returns a wildcard location for that file" do
        expect(locations).to eq [
          Cucumber::Core::Ast::Location.new("features/foo.feature"),
          Cucumber::Core::Ast::Location.new("features/bar.feature", 34),
        ]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cucumber-2.0.0.rc.3 spec/cucumber/file_specs_spec.rb
cucumber-2.0.0.rc.2 spec/cucumber/file_specs_spec.rb
cucumber-2.0.0.rc.1 spec/cucumber/file_specs_spec.rb