Skip to content

Commit

Permalink
(pouchdb#645) - enable http adapter in compaction tests
Browse files Browse the repository at this point in the history
Always use http adapter as reference. Here: test.compaction.js
now supports http adapter tests.

Notice: auto_compaction test has feature detection (does not work
for http adapter)
  • Loading branch information
neojski authored and daleharvey committed Mar 30, 2013
1 parent 5e53db2 commit 6cbf770
Showing 1 changed file with 26 additions and 22 deletions.
48 changes: 26 additions & 22 deletions tests/test.compaction.js
@@ -1,11 +1,13 @@
/*globals initTestDB: false, emit: true, generateAdapterUrl: false */
/*globals PERSIST_DATABASES: false, initDBPair: false, utils: true, putTree: false */
/*globals ajax: true, LevelPouch: true, makeDocs: false */
/*globals ajax: true, LevelPouch: true, makeDocs: false, strictEqual: false */
/*globals cleanupTestDatabases: false */

"use strict";

var adapters = ['local-1'];
var adapters = ['local-1', 'http-1'];
var autoCompactionAdapters = ['local-1'];

var qunit = module;
var LevelPouch;

Expand Down Expand Up @@ -194,33 +196,35 @@ adapters.map(function(adapter) {
});
});

asyncTest('Auto-compaction test', function() {
initTestDB(this.name, {auto_compaction: true}, function(err, db) {
var doc = {_id: "doc", val: "1"};
db.post(doc, function(err, res) {
var rev1 = res.rev;
doc._rev = rev1;
doc.val = "2";
if (autoCompactionAdapters.indexOf(adapter) > -1) {
asyncTest('Auto-compaction test', function() {
initTestDB(this.name, {auto_compaction: true}, function(err, db) {
var doc = {_id: "doc", val: "1"};
db.post(doc, function(err, res) {
var rev2 = res.rev;
doc._rev = rev2;
doc.val = "3";
var rev1 = res.rev;
doc._rev = rev1;
doc.val = "2";
db.post(doc, function(err, res) {
var rev3 = res.rev;
db.get("doc", {rev: rev1}, function(err, doc) {
ok(err.status === 404 && err.error === "not_found",
"compacted document is missing");
db.get("doc", {rev: rev2}, function(err, doc) {
ok(!err, "leaf's parent does not get compacted");
db.get("doc", {rev: rev3}, function(err, doc) {
ok(!err, "leaf revision does not get compacted");
start();
var rev2 = res.rev;
doc._rev = rev2;
doc.val = "3";
db.post(doc, function(err, res) {
var rev3 = res.rev;
db.get("doc", {rev: rev1}, function(err, doc) {
strictEqual(err.status, 404, "compacted document is missing");
strictEqual(err.error, "not_found", "compacted document is missing");
db.get("doc", {rev: rev2}, function(err, doc) {
ok(!err, "leaf's parent does not get compacted");
db.get("doc", {rev: rev3}, function(err, doc) {
ok(!err, "leaf revision does not get compacted");
start();
});
});
});
});
});
});
});
});
});
}
});

0 comments on commit 6cbf770

Please sign in to comment.