Class: SQLite3::TestBackup

Inherits:
TestCase
  • Object
show all
Defined in:
lib/sqlite3-1.5.3-arm64-darwin/test/test_backup.rb,
lib/sqlite3-1.5.3-x86_64-darwin/test/test_backup.rb

Instance Method Summary collapse

Methods inherited from TestCase

#assert_nothing_raised

Instance Method Details

#setupObject



5
6
7
8
9
10
11
12
13
# File 'lib/sqlite3-1.5.3-arm64-darwin/test/test_backup.rb', line 5

def setup
  @sdb = SQLite3::Database.new(':memory:')
  @ddb = SQLite3::Database.new(':memory:')
  @sdb.execute('CREATE TABLE foo (idx, val);');
  @data = ('A'..'Z').map{|x|x * 40}
  @data.each_with_index do |v, i|
    @sdb.execute('INSERT INTO foo (idx, val) VALUES (?, ?);', [i, v])
  end
end

#test_backup_allObject



25
26
27
28
29
30
31
# File 'lib/sqlite3-1.5.3-arm64-darwin/test/test_backup.rb', line 25

def test_backup_all
  b = SQLite3::Backup.new(@ddb, 'main', @sdb, 'main')
  assert_equal(SQLite3::Constants::ErrorCode::DONE, b.step(-1))
  assert_equal(0, b.remaining)
  b.finish
  assert_equal(@data.length, @ddb.execute('SELECT * FROM foo;').length)
end

#test_backup_stepObject



15
16
17
18
19
20
21
22
23
# File 'lib/sqlite3-1.5.3-arm64-darwin/test/test_backup.rb', line 15

def test_backup_step
  b = SQLite3::Backup.new(@ddb, 'main', @sdb, 'main')
  while b.step(1) == SQLite3::Constants::ErrorCode::OK
    assert_not_equal(0, b.remaining)
  end
  assert_equal(0, b.remaining)
  b.finish
  assert_equal(@data.length, @ddb.execute('SELECT * FROM foo;').length)
end