FMDBTempDBTests.swift 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import XCTest
  2. @testable import FMDB
  3. class FMDBTempDBTests: XCTestCase {
  4. //
  5. // var db : FMDatabase
  6. // var databasePath : String?
  7. //
  8. //
  9. // let testDatabasePath = "/tmp/tmp.db"
  10. // static let populatedDatabasePath = "/tmp/tmp-populated.db"
  11. //
  12. //
  13. // public override init(selector: Selector) {
  14. // self.db = FMDatabase()
  15. // super.init(selector: selector)
  16. // }
  17. //
  18. // override static func setUp() {
  19. //
  20. //
  21. // super.setUp()
  22. //
  23. // let url = NSURL(fileURLWithPath: populatedDatabasePath, isDirectory: false)
  24. //
  25. // let fileManager = FileManager()
  26. // try? fileManager.removeItem(at: url as URL)
  27. //
  28. //
  29. // /*
  30. // // Delete old populated database
  31. // NSFileManager *fileManager = [NSFileManager defaultManager];
  32. // [fileManager removeItemAtPath:populatedDatabasePath error:NULL];
  33. //
  34. // if ([self respondsToSelector:@selector(populateDatabase:)]) {
  35. // FMDatabase *db = [FMDatabase databaseWithPath:populatedDatabasePath];
  36. //
  37. // [db open];
  38. // [self populateDatabase:db];
  39. // [db close];
  40. // }*/
  41. //
  42. //
  43. // }
  44. public func emptyDatabase(path: String) -> FMDatabase {
  45. let url = URL(fileURLWithPath: path, isDirectory: false)
  46. let fileManager = FileManager()
  47. try? fileManager.removeItem(at: url as URL)
  48. let db = FMDatabase.database(with: url)
  49. return db
  50. }
  51. public func populatedOpenDatabase(path: String) -> FMDatabase {
  52. let url = URL(fileURLWithPath: path, isDirectory: false)
  53. let fileManager = FileManager()
  54. try? fileManager.removeItem(at: url as URL)
  55. let db = FMDatabase.database(with: url)
  56. do {
  57. try db.open()
  58. try db.executeUpdate("create table test (a text, b text, c integer, d double, e double)")
  59. try db.beginTransaction()
  60. var i = 0
  61. while (i < 20) {
  62. i = i + 1
  63. try db.executeUpdate("insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)", "hi'", "number \(i)", i, NSDate(), 2.2)
  64. try db.executeUpdate("insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)", "hi again'", "number \(i)", i, NSDate(), 2.2)
  65. }
  66. try db.commit()
  67. try db.executeUpdate("create table t3 (a somevalue)")
  68. try db.beginTransaction()
  69. i = 0
  70. while (i < 20) {
  71. i = i + 1
  72. try db.executeUpdate("insert into t3 (a) values (?)", i)
  73. }
  74. try db.commit()
  75. }
  76. catch {
  77. assert(false, "\(error)")
  78. }
  79. return db
  80. }
  81. }