Sha256: 4f5b50d23f128d64f53cb179f8b1880c8a823b618ea8aac05bf72f0d6908addc

Contents?: true

Size: 937 Bytes

Versions: 1

Compression:

Stored size: 937 Bytes

Contents

# frozen_string_literal: true

require 'rom/files/relation'
require 'shared/rom/files/media_relation'

RSpec.describe ROM::Files::Relation, '#select' do
  include_context 'media relation'

  subject(:names) { relation.pluck(:basename) }
  let(:relation) { container.relations[:media] }

  context '(simple_pattern)' do
    let(:relation) { super().select('*.txt') }

    it { is_expected.to eql [P('some_file.txt')] }
  end

  context '(multiple, patterns)' do
    let(:relation) { super().select('*.txt', '*.md') }

    it { is_expected.to eql [P('some_file.txt'), P('some_markdown.md')] }
  end

  context '(glob_pattern)' do
    let(:relation) { super().select('*.{txt,md}') }

    it { is_expected.to eql [P('some_file.txt'), P('some_markdown.md')] }
  end

  context '(ordered_glob_pattern)' do
    let(:relation) { super().select('*.{md,txt}') }

    it { is_expected.to eql [P('some_markdown.md'), P('some_file.txt')] }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-files-0.2.0 spec/lib/rom/files/relation/select_spec.rb