Wrap text
Report abuse
|
|
require File.dirname(__FILE__) + '/helper'
context "Filter (using select)" do
xspecify "simple ==" do
filter = LDAP::User.select { |m| m.name == 'jon' }.to_filter
filter.should == "(name=jon)"
end
xspecify "simple !=" do
filter = LDAP::User.select { |m| m.name != 'jon' }.to_filter
filter.should == "(!(name=jon))"
end
xspecify "simple == && ==" do
filter = LDAP::User.select { |m| m.name == 'jon' && m.age == 21 }.to_filter
filter.should == "(&(name=jon)(age=21))"
end
xspecify "simple == || ==" do
filter = LDAP::User.select { |m| m.name == 'jon' || m.age == 21 }.to_filter
filter.should == "(|(name=jon)(age=21))"
end
xspecify "mixed && and ||" do
filter = User.select { |m| m.name == 'jon' || m.age == 21 && m.password == 'pass' }.to_filter
filter.should == "(|(name=jon)(&(age=21)(password=pass)))"
end
xspecify "grouped && and ||" do
filter = User.select { |m| (m.name == 'jon' || m.name == 'rick') && m.age == 21 }.to_filter
filter.should == "(&(|(name=jon)(name=rick))(age=21))"
end
xspecify "simple >/<" do
# LDAP apparently only supports >= and <=
filter = User.select { |m| m.age > 21 }.to_filter
filter.should == "(age>=21)"
filter = User.select { |m| m.age >= 21 }.to_filter
filter.should == "(age>=21)"
filter = User.select { |m| m.age < 21 }.to_filter
filter.should == "(age<=21)"
filter = User.select { |m| m.age <= 21 }.to_filter
filter.should == "(age<=21)"
end
xspecify "array.include? item" do
filter = User.select { |m| [1, 2, 3, 4].include? m.id }.to_filter
# I'm not sure whether this is idiomatic, but it works.
filter.should == "(|(id=1)(id=2)(id=3)(id=4))"
end
xspecify "variable'd array.include? item" do
array = [1, 2, 3, 4]
filter = User.select { |m| array.include? m.id }.to_filter
filter.should == "(|(id=1)(id=2)(id=3)(id=4))"
end
xspecify "simple == with variables" do
me = 'chris'
filter = User.select { |m| m.name == me }.to_filter
filter.should == "(name=#{me})"
end
end
|