diff --git a/spec/em/em_spec.rb b/spec/em/em_spec.rb index 1254c4c..429acf1 100644 --- a/spec/em/em_spec.rb +++ b/spec/em/em_spec.rb @@ -1,45 +1,49 @@ # encoding: UTF-8 -require 'spec_helper' -require 'mysql2/em' +if defined? EventMachine + require 'spec_helper' + require 'mysql2/em' -describe Mysql2::EM::Client do - it "should support async queries" do - results = [] - EM.run do - client1 = Mysql2::EM::Client.new - defer1 = client1.query "SELECT sleep(0.1) as first_query" - defer1.callback do |result| - results << result.first - EM.stop_event_loop - end - - client2 = Mysql2::EM::Client.new - defer2 = client2.query "SELECT sleep(0.025) second_query" - defer2.callback do |result| - results << result.first - end - end - - results[0].keys.should include("second_query") - results[1].keys.should include("first_query") - end - - it "should support queries in callbacks" do - results = [] - EM.run do - client = Mysql2::EM::Client.new - defer1 = client.query "SELECT sleep(0.025) as first_query" - defer1.callback do |result| - results << result.first - defer2 = client.query "SELECT sleep(0.025) as second_query" - defer2.callback do |result| + describe Mysql2::EM::Client do + it "should support async queries" do + results = [] + EM.run do + client1 = Mysql2::EM::Client.new + defer1 = client1.query "SELECT sleep(0.1) as first_query" + defer1.callback do |result| results << result.first EM.stop_event_loop end + + client2 = Mysql2::EM::Client.new + defer2 = client2.query "SELECT sleep(0.025) second_query" + defer2.callback do |result| + results << result.first + end end + + results[0].keys.should include("second_query") + results[1].keys.should include("first_query") end - results[0].keys.should include("first_query") - results[1].keys.should include("second_query") + it "should support queries in callbacks" do + results = [] + EM.run do + client = Mysql2::EM::Client.new + defer1 = client.query "SELECT sleep(0.025) as first_query" + defer1.callback do |result| + results << result.first + defer2 = client.query "SELECT sleep(0.025) as second_query" + defer2.callback do |result| + results << result.first + EM.stop_event_loop + end + end + end + + results[0].keys.should include("first_query") + results[1].keys.should include("second_query") + end end -end +else + puts "EventMachine not installed, skipping the specs that use it" +end \ No newline at end of file