Sha256: 69e713129941b14b9727f03a007978a994ad2dcb1c69fd963cbb5494577be24c
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
require 'test_helper' describe "Traject::Indexer.to_field" do before do @indexer = Traject::Indexer.new end describe "checks it's arguments" do it "rejects nil first arg" do assert_raises(Traject::Indexer::NamingError) { @indexer.to_field(nil) } end it "rejects empty string first arg" do assert_raises(Traject::Indexer::NamingError) {@indexer.to_field("")} end it "rejects non-string first arg" do assert_raises(Traject::Indexer::NamingError) {@indexer.to_field(:symbol)} end it "rejects one-arg lambda" do assert_raises(Traject::Indexer::ArityError) do @indexer.to_field("foo") do |one_arg| end end end it "rejects four-arg lambda" do assert_raises(Traject::Indexer::ArityError) do @indexer.to_field("foo") do |one_arg, two_arg, three_arg, four_arg| end end end it "accepts two arg lambda" do @indexer.to_field("foo") do |one, two| end end it "accepts three arg lambda" do @indexer.to_field("foo") {|one, two, three| one } end it "accepts variable lambda" do @indexer.to_field("foo") do |*variable| end end end it "outputs error with source location" do begin @indexer.to_field('foo') {|one, two| } @indexer.to_field('') {|one, two| } # bad field name flunk("Should have rejected empty field name") rescue Traject::Indexer::NamingError => e assert_match(/at .*\/.*:\d+/, e.message) rescue flunk("Should only fail with a NamingError") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
traject-0.15.0 | test/indexer/to_field_test.rb |
traject-0.14.1 | test/indexer/to_field_test.rb |