aboutsummaryrefslogtreecommitdiffstats
path: root/test/visitors/test_postgres.rb
blob: b98f78ca12b421139ca18e68b2d174cff363cdea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'helper'

module Arel
  module Visitors
    describe 'the postgres visitor' do
      before do
        @visitor = PostgreSQL.new Table.engine
      end

      it 'should produce a lock value' do
        @visitor.accept(Nodes::Lock.new).must_be_like %{
          FOR UPDATE
        }
      end

      it "should escape LIMIT" do
        sc = Arel::Nodes::SelectStatement.new
        sc.limit = "omg"
        sc.cores.first.projections << 'DISTINCT ON'
        sc.orders << "xyz"
        assert_match(/LIMIT 'omg'/, @visitor.accept(sc))
      end
    end
  end
end