do_sqlite3 0.9.11 → 0.9.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/LICENSE +1 -1
  2. data/Manifest.txt +15 -4
  3. data/Rakefile +7 -207
  4. data/ext/do_sqlite3_ext/do_sqlite3_ext.c +187 -71
  5. data/ext/do_sqlite3_ext/extconf.rb +2 -0
  6. data/lib/do_sqlite3/version.rb +1 -1
  7. data/spec/command_spec.rb +8 -0
  8. data/spec/connection_spec.rb +18 -0
  9. data/spec/lib/rspec_immediate_feedback_formatter.rb +3 -0
  10. data/spec/reader_spec.rb +8 -0
  11. data/spec/result_spec.rb +9 -0
  12. data/spec/spec_helper.rb +88 -17
  13. data/spec/typecast/array_spec.rb +8 -0
  14. data/spec/typecast/bigdecimal_spec.rb +8 -0
  15. data/spec/typecast/boolean_spec.rb +8 -0
  16. data/spec/typecast/byte_array_spec.rb +9 -0
  17. data/spec/typecast/class_spec.rb +8 -0
  18. data/spec/typecast/date_spec.rb +8 -0
  19. data/spec/typecast/datetime_spec.rb +8 -0
  20. data/spec/typecast/float_spec.rb +8 -0
  21. data/spec/typecast/integer_spec.rb +8 -0
  22. data/spec/typecast/nil_spec.rb +10 -0
  23. data/spec/typecast/range_spec.rb +8 -0
  24. data/spec/typecast/string_spec.rb +8 -0
  25. data/spec/typecast/time_spec.rb +8 -0
  26. data/tasks/gem.rake +61 -0
  27. data/tasks/install.rake +15 -0
  28. data/tasks/native.rake +35 -0
  29. data/tasks/release.rake +75 -0
  30. data/tasks/retrieve.rake +104 -0
  31. data/tasks/spec.rake +18 -0
  32. metadata +71 -39
  33. data/.gitignore +0 -3
  34. data/buildfile +0 -27
  35. data/ext-java/src/main/java/DoSqlite3ExtService.java +0 -23
  36. data/ext-java/src/main/java/do_sqlite3/Sqlite3DriverDefinition.java +0 -26
  37. data/spec/integration/do_sqlite3_spec.rb +0 -278
  38. data/spec/integration/logging_spec.rb +0 -53
  39. data/spec/integration/quoting_spec.rb +0 -23
  40. data/spec/spec.opts +0 -2
  41. data/spec/unit/transaction_spec.rb +0 -34
@@ -1,53 +0,0 @@
1
- require 'pathname'
2
- require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
3
-
4
- describe DataObjects::Sqlite3::Command do
5
-
6
- before(:each) do
7
- @connection = DataObjects::Connection.new("sqlite3://#{File.expand_path(File.dirname(__FILE__))}/test.db")
8
- end
9
-
10
- after(:each) do
11
- @connection.close
12
- end
13
-
14
- describe "Executing a Reader" do
15
-
16
- it "should log reader queries when the level is Debug (0)" do
17
- pending "SQLiteJDBC does not implement java.sql.Statement#toString" if JRUBY
18
- command = @connection.create_command("SELECT * FROM users")
19
- @mock_logger = mock('MockLogger', :level => 0)
20
- DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
21
- @mock_logger.should_receive(:debug).with(/\([\d.]+\) SELECT \* FROM users/)
22
- command.execute_reader.close
23
- end
24
-
25
- it "shouldn't log reader queries when the level isn't Debug (0)" do
26
- command = @connection.create_command("SELECT * FROM users")
27
- @mock_logger = mock('MockLogger', :level => 1)
28
- DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
29
- @mock_logger.should_not_receive(:debug)
30
- command.execute_reader.close
31
- end
32
- end
33
-
34
- describe "Executing a Non-Query" do
35
- it "should log non-query statements when the level is Debug (0)" do
36
- pending "SQLiteJDBC does not implement java.sql.Statement#toString" if JRUBY
37
- command = @connection.create_command("INSERT INTO users (name) VALUES (?)")
38
- @mock_logger = mock('MockLogger', :level => 0)
39
- DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
40
- @mock_logger.should_receive(:debug).with(/\([\d.]+\) INSERT INTO users \(name\) VALUES \('Blah'\)/)
41
- command.execute_non_query('Blah')
42
- end
43
-
44
- it "shouldn't log non-query statements when the level isn't Debug (0)" do
45
- command = @connection.create_command("INSERT INTO users (name) VALUES (?)")
46
- @mock_logger = mock('MockLogger', :level => 1)
47
- DataObjects::Sqlite3.should_receive(:logger).and_return(@mock_logger)
48
- @mock_logger.should_not_receive(:debug)
49
- command.execute_non_query('Blah')
50
- end
51
- end
52
-
53
- end
@@ -1,23 +0,0 @@
1
- require 'pathname'
2
- require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
3
-
4
- unless JRUBY
5
-
6
- describe DataObjects::Sqlite3::Command do
7
-
8
- before(:each) do
9
- @connection = DataObjects::Connection.new("sqlite3://#{File.expand_path(File.dirname(__FILE__))}/test.db")
10
- @command = @connection.create_command("INSERT INTO users (name) VALUES (?)")
11
- end
12
-
13
- it "should properly quote a string" do
14
- @command.quote_string("O'Hare").should == "'O''Hare'"
15
- @command.quote_string("Willy O'Hare & Johnny O'Toole").should == "'Willy O''Hare & Johnny O''Toole'"
16
- @command.quote_string("Billy\\Bob").should == "'Billy\\Bob'"
17
- @command.quote_string("The\\Backslasher\\Rises\\Again").should == "'The\\Backslasher\\Rises\\Again'"
18
- @command.quote_string("Scott \"The Rage\" Bauer").should == "'Scott \"The Rage\" Bauer'"
19
- end
20
-
21
- end
22
-
23
- end
data/spec/spec.opts DELETED
@@ -1,2 +0,0 @@
1
- --format specdoc
2
- --colour
@@ -1,34 +0,0 @@
1
- require 'pathname'
2
- require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'
3
-
4
- describe DataObjects::Sqlite3::Transaction do
5
-
6
- before :each do
7
- @connection = mock("connection")
8
- DataObjects::Connection.should_receive(:new).with("mock://mock/mock").once.and_return(@connection)
9
- @transaction = DataObjects::Sqlite3::Transaction.new("mock://mock/mock")
10
- @transaction.id.replace("id")
11
- @command = mock("command")
12
- end
13
-
14
- {
15
- :begin => "BEGIN",
16
- :commit => "COMMIT",
17
- :rollback => "ROLLBACK",
18
- :rollback_prepared => "ROLLBACK",
19
- :prepare => nil
20
- }.each do |method, commands|
21
- it "should execute #{commands.inspect} on ##{method}" do
22
- if commands.is_a?(String)
23
- @command.should_receive(:execute_non_query).once
24
- @connection.should_receive(:create_command).once.with(commands).and_return(@command)
25
- @transaction.send(method)
26
- elsif commands.nil?
27
- @command.should_not_receive(:execute_non_query)
28
- @connection.should_not_receive(:create_command)
29
- @transaction.send(method)
30
- end
31
- end
32
- end
33
-
34
- end