var request = require('../index')
  , http = require('http')
  , server = require('./server')
  , assert = require('assert')
  ;

var s = http.createServer(function (req, resp) {
  resp.statusCode = 200
  resp.end('')
}).listen(6767, function () {
  // requests without agentOptions should use global agent
  var r = request('http://localhost:6767', function (e, resp, body) {
    assert.deepEqual(r.agent, http.globalAgent);
    assert.equal(Object.keys(r.pool).length, 0);

    // requests with agentOptions should apply agentOptions to new agent in pool
    var r2 = request('http://localhost:6767', { agentOptions: { foo: 'bar' } }, function (e, resp, body) {
      assert.equal(r2.agent.options.foo, 'bar');
      assert.equal(Object.keys(r2.pool).length, 1);
	    s.close()
 	 });
  })
})

@@ -36,16 +36,19 @@
  , http 
+   
 = requir
@@ -68,16 +68,17 @@
  server 
+ 
 = requir
@@ -95,22 +95,23 @@
 r')%0A  , 
-assert
+tape   
  = requi
@@ -118,34 +118,79 @@
 re('
-assert')%0A  ;%0A%0Avar s = http
+tape')%0A%0Avar s%0A  , port = 8111%0A%0Atape('setup', function(t) %7B%0A  s = server
 .cre
@@ -222,16 +222,18 @@
 resp) %7B%0A
+  
   resp.s
@@ -250,16 +250,18 @@
 = 200%0A  
+ 
+ 
 resp.end
@@ -265,16 +265,18 @@
 end('')%0A
+  
 %7D).liste
@@ -277,20 +277,20 @@
 .listen(
-6767
+port
 , functi
@@ -295,28 +295,40 @@
 tion
- 
 () %7B%0A  
-// requests 
+  t.end()%0A  %7D)%0A%7D)%0A%0Atape('
 with
@@ -371,50 +371,60 @@
 gent
-%0A  var r = request('http://localhost:6767'
+', function(t) %7B%0A  t.plan(3)%0A  var r = request(s.url
 , fu
@@ -425,33 +425,33 @@
 rl, function
- 
 (e
+rr
 , res
-p
 , body) %7B%0A  
@@ -452,21 +452,39 @@
 ) %7B%0A    
-asser
+t.equal(err, null)%0A    
 t.deepEq
@@ -517,19 +517,13 @@
 ent)
-;
 %0A    
-asser
 t.eq
@@ -560,27 +560,24 @@
 , 0)
-;%0A
 %0A  
-  // requests 
+%7D)%0A%7D)%0A%0Atape('
 with
@@ -603,29 +603,16 @@
 d apply 
-agentOptions 
 to new a
@@ -627,19 +627,44 @@
 pool
-%0A  
+', function(t) %7B%0A  t.plan(3)%0A
   var r
-2
  = r
@@ -674,34 +674,20 @@
 est(
-'http://localhost:6767', %7B
+s.url, %7B%0A   
  age
@@ -711,16 +711,18 @@
  'bar' %7D
+%0A 
  %7D, func
@@ -729,17 +729,17 @@
 tion
- 
 (e
+rr
 , res
-p
 , bo
@@ -744,31 +744,47 @@
 body) %7B%0A    
-  asser
+t.equal(err, null)%0A    
 t.equal(r2.a
@@ -780,17 +780,16 @@
 .equal(r
-2
 .agent.o
@@ -810,21 +810,13 @@
 ar')
-;
 %0A    
-  asser
 t.eq
@@ -832,17 +832,16 @@
 t.keys(r
-2
 .pool).l
@@ -853,13 +853,48 @@
 , 1)
-;%0A%09  
+%0A  %7D)%0A%7D)%0A%0Atape('cleanup', function(t) %7B%0A
   s.
@@ -906,17 +906,15 @@
 ()%0A 
-%09 %7D);%0A  %7D
+ t.end(
 )%0A%7D)

Rewrite tests/test-agentOptions.js to use tape