Sha256: 8747e50c8ad29cfe4cd04c4d6902078d247725cfc6c4f13f90bf4cf3d2fed9f2
Contents?: true
Size: 1.61 KB
Versions: 7
Compression:
Stored size: 1.61 KB
Contents
RSpec::Matchers.define :match_url do |url| match do |given| given_path, given_query_string = given.split('?') path, query_string = url.split('?') path == given_path && given_query_string.split('&').sort == query_string.split('&').sort end end RSpec::Matchers.define :be_an_empty_directory do match do |given| !!ENV['TRAVIS'] || (Dir.entries(given) == ['.','..']) end end RSpec::Matchers.define :include_hash do |hash| match do |given| given.merge(hash) == given end end def memory_usage GC.start # Garbage collect `ps -o rss= -p #{$$}`.strip.to_i end RSpec::Matchers.define :leak_memory do match do |given| memory_before = memory_usage given.call memory_after = memory_usage result = memory_after > memory_before puts "#{memory_after} > #{memory_before}" if result result end end RSpec::Matchers.define :match_attachment_classes do |classes| match do |given_classes| given_classes.length == classes.length && classes.zip(given_classes).all? do |(klass, given)| given.model_class == klass[0] && given.attribute == klass[1] && given.app == klass[2] end end end RSpec::Matchers.define :be_a_text_response do match do |given_response| given_response.status.should == 200 given_response.body.length.should > 0 given_response.content_type.should == 'text/plain' end end RSpec::Matchers.define :have_keys do |*keys| match do |given| given.keys.map{|sym| sym.to_s }.sort == keys.map{|sym| sym.to_s }.sort end end RSpec::Matchers.define :match_steps do |steps| match do |given| given.map{|step| step.class } == steps end end
Version data entries
7 entries across 7 versions & 1 rubygems