class PostgresqlXMLTest

Public Instance Methods

setup() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 12
def setup
  @connection = ActiveRecord::Base.connection
  begin
    @connection.transaction do
      @connection.create_table("xml_data_type") do |t|
        t.xml "payload"
      end
    end
  rescue ActiveRecord::StatementInvalid
    skip "do not test on PG without xml"
  end
  @column = XmlDataType.columns_hash["payload"]
end
test_column() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 30
def test_column
  assert_equal :xml, @column.type
end
test_null_xml() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 34
def test_null_xml
  @connection.execute "insert into xml_data_type (payload) VALUES(null)"
  assert_nil XmlDataType.first.payload
end
test_round_trip() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 39
def test_round_trip
  data = XmlDataType.new(payload: "<foo>bar</foo>")
  assert_equal "<foo>bar</foo>", data.payload
  data.save!
  assert_equal "<foo>bar</foo>", data.reload.payload
end
test_schema_dump_with_shorthand() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 52
def test_schema_dump_with_shorthand
  output = dump_table_schema("xml_data_type")
  assert_match %r{t\.xml "payload"}, output
end
test_update_all() click to toggle source
# File activerecord/test/cases/adapters/postgresql/xml_test.rb, line 46
def test_update_all
  data = XmlDataType.create!
  XmlDataType.update_all(payload: "<bar>baz</bar>")
  assert_equal "<bar>baz</bar>", data.reload.payload
end