var assert = require('assert');
describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.equal(-1, [1,2,3].indexOf(4));
    });
  });
});

var ask = require('../entry.js');
// ask is promise-returning stdin question
var bddStdin = require('bdd-stdin');
describe('ask', function () {
  it('asks one question', function () {
    bddStdin('012345678');
    return ask.entry('type "answer"')
      .then(function (response) {
        console.assert(response === 'answer');
      });
  });
});

@@ -21,24 +21,55 @@
 ('assert');%0A
+var should = require('should')%0A
 describe('Ar
@@ -201,16 +201,18 @@
 %7B%0A      
+//
 assert.e
@@ -241,16 +241,60 @@
 Of(4));%0A
+      (%5B1,2,3%5D.indexOf(4)).should.equal(-1)%0A
     %7D);%0A
@@ -308,19 +308,21 @@
 );%0A%0Avar 
-ask
+entry
  = requi
@@ -328,21 +328,22 @@
 ire('../
-entry
+sudoku
 .js');%0A/
@@ -344,19 +344,21 @@
 s');%0A// 
-ask
+entry
  is prom
@@ -423,16 +423,104 @@
 tdin');%0A
+pry = require('pryjs')%0Avar Promise = require('bluebird');%0APromise.promisifyAll(entry);%0A%0A
 describe
@@ -521,19 +521,21 @@
 scribe('
-ask
+Entry
 ', funct
@@ -579,24 +579,43 @@
 nction () %7B%0A
+    //eval(pry.it)%0A
     bddStdin
@@ -644,25 +644,32 @@
 urn 
-ask
+entry
 .entry
+Async
 ('type %22
 answ
@@ -664,22 +664,25 @@
 ('type %22
-answer
+012345678
 %22')%0A    
@@ -723,36 +723,32 @@
     
-console.assert(response === 
+(response).should.equal(
 'ans
@@ -756,26 +756,40 @@
 er');%0A      %7D);%0A
+      done();%0A
   %7D);%0A%7D);%0A

Modify test scripts