Sha256: bda64513da6b9c67a3a0aeaf15f754c9262c48f1c12fb31e49084892612f3a7f

Contents?: true

Size: 1.56 KB

Versions: 11

Compression:

Stored size: 1.56 KB

Contents

require File.dirname(__FILE__) + '/helper'

##
# Once dynamically, once hardcoded
context "Different types" do
  types_hash = {
    'string' => "'string'",
    :symbol  => "'--- :symbol\n'",
    1        => '1',
    1.2      => '1.2',
    nil      => 'NULL',
    true     => '1',
    false    => '0',
    Time.now     => "'#{Time.now.to_s(:db)}'",
    DateTime.now => "'#{DateTime.now.to_s(:db)}'",
    Date.today   => "'#{Date.today.to_s(:db)}'"
  }

  types_hash.each do |type, translation|
    specify "simple using #{type}" do
      sql = User.select { |m| m.name == type }.to_sql
      sql.should == "SELECT * FROM users WHERE users.`name` = #{translation}"
    end
  end

  specify "float" do
    sql = User.select { |m| m.name == 1.2 }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = 1.2"
  end

  specify "integer" do
    sql = User.select { |m| m.name == 1 }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = 1"
  end

  specify "true" do
    sql = User.select { |m| m.name == true }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = 1"
  end

  specify "false" do
    sql = User.select { |m| m.name == false }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = 0"
  end

  specify "nil" do
    sql = User.select { |m| m.name == nil }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = NULL"
  end

  xspecify "Time" do
    # TODO: nothing but variables inside blocks for now
    sql = User.select { |m| m.name == Time.now }.to_sql
    sql.should == "SELECT * FROM users WHERE users.`name` = NULL"
  end
end

Version data entries

11 entries across 8 versions & 2 rubygems

Version Path
cheat-1.3.3 lib/ambition/test/types_test.rb
cheat-1.3.2 lib/ambition/test/types_test.rb
cheat-1.3.1 lib/ambition/test/types_test.rb
cheat-1.3.0 lib/ambition/test/types_test.rb
ambition-0.1.2 test/types_test.rb
ambition-0.1.2 ./test/types_test.rb
ambition-0.1.3 ./test/types_test.rb
ambition-0.1.3 test/types_test.rb
ambition-0.1.0 ./test/types_test.rb
ambition-0.1.1 ./test/types_test.rb
ambition-0.1.1 test/types_test.rb