VimUnDoxOhk5CmSVbٲ_7A $$$$Nb_N/5_  v N/function Class() {5_  v N/}5_  v N/module.exports = Class;5_  v N/5_vN/var var = require('module');5_vN/var common = require('module');5_ vN/5_ vN/5_ vN/5_ vN/5_ vN/var var = require('module');5_  vN/var test = require('module');5_ VN/#var LazySocket = common.LazySocket;var test = require('utest');"var common = require('../common');5_VN/t5_ v N/test('name', {5_ v N/ 'test': function() {  },});5_ v N/5_ v N/ test('name', {5_ v N/ 5_ v N/5_ v N/5_ v N/ 'test': function() {5_ v N/ 'ctest': function() {5_ v N/test('LazySocket', {5_  v N/  5_ v N/ 5_ v N/ 'create': function() {5_ v N/  5_ v N/ var 5_  v N/  5_! ) v N/ , var socket = LazySocket.createConnect();5_ "!+ v N/    5_!#"vN/  assert.equal(val, expected);5_"%#vN/ # assert.equal(socket, expected);5_#&$%%v%N0   5_%'&vN0 var var = require('module');5_&('vN0 var assert = require('module');5_')( vN0 var assert = require('assert');5_(*) vN0  "var assert = require('assert');5_)+* vN0  assert.equal(socket);5_*,+vN0    5_+-,   vN0   assert.ok(val);5_,.-  vN0  + 'returns a new lazy socket': function() {5_-/.  VN1  5_.0/  VN1 5_/10  VN1 * 'returns a new LazySocket': function() {5_021 - VN1  / var socket = LazySocket.createConnection();5_132 VN1 , assert.ok(socket instanceof LazySocket);5_243  VN1   5_354vN1  assert.equal(val, expected);5_465%v%N1 ( assert.equal(socket.port, expected);5_576*%v%N15_687%v%N1- assert.equal(socket.port, 'example.org');5_7;8%v%N1 - assert.equal(socket.port, 'example.org');5_8<9;VN1e5_;=<VN1e5_<>=VN1f%test('LazySocket#createConnection', {5_=?>VN1htest('#createConnection', {5_>@?VN1ktest('Estabslie', {5_?A@VN1"test('Establishes a connection', {5_@BAVN1%test('Creates a socket internally', {5_ACBVN15_BDCvN1var var = require('module');5_CEDvN1var net = require('module');5_DFEVN1var net = require('net');#var LazySocket = common.LazySocket;#var assert = require('assert');"var test = require('utest');&var common = require('../common');5_EGFVN13test('Creates an internal socket on first write', {5_FHGVN1   5_GIHVN1" }5_HJIVN1$ after: f# "5_IKJVN1& }5_JLKVN1&5_KMLVN1 5_LNMVN1 5_MONVN1&%5_NPO VN1' &5_OQPVN1' socket = new LazySocket();5_PRQ<VN1( '5_QSRVN1) (5_RTS VN1 / var socket = LazySocket.createConnection();5_SUT VN1 , assert.ok(socket instanceof LazySocket);5_TVU#VN1"#B var socket = LazySocket.createConnection(8080, 'example.org');5_UWV#VN1"#$ assert.equal(socket.port, 8080);5_VXW#VN1"#- assert.equal(socket.host, 'example.org');5_WYX"VN1!"- 'sets the passed host / port': function() {5_X[Y"VN1!" },5_Y\Z[!VN1 !5_[]\VN1 !* 'returns a new LazySocket': function() {5_\^]/VN1!!5_]_^ VN1 5_^`_VN5 var socket;test('LazySocket#write', { before: function() {= socket = new LazySocket({port: 80, host: 'example.org'});( sinon.stub(net, 'createConnection'); }, after: function() {# net.createConnection.restore(); },? 'creates a net connection for first connection': function() { },});5__a`VN55_`baVN 15_acbVN 15_bdcVN 3%test('LazySocket#createConnection', {5_cedVN 4* 'returns a new LazySocket': function() {5_dfeVN 7, assert.ok(socket instanceof LazySocket);5_egfVN 9- 'sets the passed host / port': function() {B var socket = LazySocket.createConnection(8080, 'example.org');$ assert.equal(socket.port, 8080);- assert.equal(socket.host, 'example.org'); },5_fhgVN :5_gihVN : 5_hjiVN E/ var socket = LazySocket.createConnection();5_ikjVN 5_jlkVN 5_kmlVN  test('LazySocket#end', {5_lnm VN   socket.end();5_monVN  # 'when disconnected': function() {5_npoVN   'when connected': function() {5_oqpVN  5_prqVN 5_qsrVN " 'when connected': f!  5_rtsVN $ }5_sutVN  5_tvuVN $ #5_uwv!VN % $5_vxwVN 1% var fakeSocket = 5_wyxVN 2% var FakeSocket = 5_xzy VN 7%" var FakeSocket = sinon.stub();5_y{z3VN A%5_z|{VN D&6 var FakeSocket = sinon.stub(net.Socket.prototype);5_{}|VN E5_|~}VN E& %5_}~;VN U!' &5_~"VN \**)5_vN ]*var var = require('module');5_vN ]*var sinon = require('module');5_VN a var net = require('net');var sinon = require('sinon');#var LazySocket = common.LazySocket;#var assert = require('assert');"var test = require('utest');&var common = require('../common');5_VN d5_VN d"*!)5_ VN e!!+5_ VN ,, +5_vN ", console.error(var);5_vN  console.error('end');5_vN # +5_vN  console.error('end');5_ vN $ "+5_!vN  ! console.error('end');5_vN  +5_vN 5_vN  , ,  +5_vN % , console.error(var);5_vN  console.error(fakeSocket);5_ vN .!+ socket.write('foo');5_"vN{0!## net.createConnection.restore();5_(vN +5_  vN< sinon.stub(net, 'createConnection').returns(fakeSocket);5_vN1 ,  +5_#  vN"$% //net.createConnection.restore();5_!  vN2 ",! socket.write('foo', 'utf-8');5_!  vN!#- !#,5_$  vN$'. $&-5_&  vN%& ao5_%  vN$%5_#  vN#&.#%-5_$  vN$%/#%/5_$$$vN3#%/ assert.ok(val);5_'VN0/5_)VNfunction fakeConnected5_(VN5_'VN/test('LazySocket#end', {5_'VN/test('LazySocket', {5_'VN/&test('LazySocket#end / LazySocket#', {5_'VN/# 'when disconnected': function() {5_'VN/ 'when connected': function() {5_'VN00 /5_*VN2 }5_*VN4 after: f3 25_".VN6 }5_".VN65_#/VN 5_".VN 5_!-VN655_##$VN"#" var socket = new LazySocket();6 var fakeSocket = sinon.stub(net.Socket.prototype);5_VN3var5_VN5" var socket = new LazySocket();6 var fakeSocket = sinon.stub(net.Socket.prototype);5_VN5 var socket = new LazySocket();4 var fakeSocket = sinon.stub(net.Socket.prototype);5_VN,var socket = new LazySocket();2var fakeSocket = sinon.stub(net.Socket.prototype);5_VN-35_VN.5var socket = new LazySocket();2var fakeSocket = sinon.stub(net.Socket.prototype);5_VN.5 var socket = new LazySocket();4 var fakeSocket = sinon.stub(net.Socket.prototype);5_VN16 var fakeSocket = sinon.stub(net.Socket.prototype);" var socket = new LazySocket();5_VN95& var socket = new LazySocket();5_VN:56 var fakeSocket = sinon.stub(net.Socket.prototype);5_VN;4655_&&)VN%&< sinon.stub(net, 'createConnection').returns(fakeSocket);( fakeSocket.once.returns(fakeSocket); socket.write();5_&&VN35_**VN75_++VN 9  85_ ,,VN 9 // To Establish a connection5_',,VN&(9" var socket = new LazySocket();5_0,,VN/0# net.createConnection.restore();5_#,,VN6#%85_,-/VN-.:,.: ,.95_---vN8,.: console.error(var);5_---vN ,- console.error('yes');5_(--vN 9')95_(..vN'( console.error('yes');5_)--vN:)+95_*..vN)* console.error('yes');5_$--vN$%:#%: #%95_$$$vN;#%: console.error(var);5_$$$vN#$ console.error('yes');5_$$$vN<$&95_%$$vN$% console.error('yes');5_-$$vN =,.95_-$$vN#B,- console.error('yes');5_,1VN:: 95_vND: console.error(var);5_vN console.error('1');5_vNE95_vN console.error('1');5_vN95_vN console.error('1');5_vNF95_vN console.error('1');5_vN92 fakeSocket = sinon.stub(net.Socket.prototype);5_>vNV9@ fakeSocket = sinon.stub(Object.create(net.Socket.prototype);5_558VN*45# 'when disconnected': function() {" var socket = new LazySocket(); socket.destroy(); },5_155VN,1655_299VN-1395_ 9::VN/89test('LazySocket#destroy', {});5_  899VN/785_   388VN1247# 'when disconnected': function() {5_   63 6V N56;75_   73 6V N568;5_  33 6V N924<, '#destroy when disconnected': function() {5_ '3 6V N>&(<( '#end when disconnected': function() {5_83 6V NF79<, '#destroy when disconnected': function() {5_93 6V NH89" var socket = new LazySocket();5_93 6V NI89 socket.destroy();5_83 6V NI8:; 8::5_03 6V NP/05_8//VNQ8::5_9//VNQ8:;5_://VNS\9;<) assert.ok(fakeSocket.end.calledOnce);5_//VN<A fakeSocket = sinon.stub(Object.create(net.Socket.prototype));5_//VN]< fakeSocket = sinon.stub({});5_//VN<3 fakeSocket = sinon.stub({once: function() {}});5_00VN= once: function() {}});5_11VN> once: function() {}5_22VN?5_ 33VN_@ destroy: function() {},5_! !33VNP !A!A !@5_ "!   vNQ`!A console.error(var);5_!#"   vN[a  console.error(fakeSocket);5_"$#  vNA @5_#$!!vNbA write: function() {}5_00VN< fakeSocket = sinon.stub({ once: function() {}});5_83 6V ND79< '': function() {5_155VN+025 p },5_)v)N93 fakeSocket = sinon.stub(net.Socket.prototype));5_0)v)NN92 fakeSocket = sinon.stub(net.Socket.prototype);5_0)v)NN9 : try {5_)v)NP:5_)v)NP5_)v)NP: ; } catch (err) { }5_)v)NU5_vNV< = console.error(var);=5_vNVO= console.error(err);5_>vN9 : throw new Error('fuck')5_vNI: throw new Error('fuck');5_vNJ5_vN9: var i = 0;5_ vN: ; i++;5_vNK; <( if (i == 2) throw new Error('fuck');5_vN9 : try{5_vN: ; catch (err) { }5_vN= } catch (err) {5_vN5_vN< = console.error(var);=5_vNG= console.error(err);5_ ,1VNC! //socket.write();5_1,1VNyA+-' //'#end when connected': function() {,. //socket.end();-/.0+ //assert.ok(fakeSocket.end.calledOnce);/102 //},5_/#-/#V#Nu@,. //socket.end();-/.0+ //assert.ok(fakeSocket.end.calledOnce);5_/-/VN7,. //socket.end();-/.0+ //assert.ok(fakeSocket.end.calledOnce);5_ vN4!+- socket.write('foo', 'utf-8', function() { !+  });5_!vN5 "5_ vN6 !,5_ *vN7!-0 socket.write('foo', 'utf-8', function(err) {5_ ,!!vN7 !-  ". assert.ok(val);!".5_!!!vN8 ". assert.ok(!err);5_"!!vN9+!#5_ vN '!+0 socket.write('foo', 'utf-8', function() {});5_ VN +test('LazySocket', {5_ #VN + , before: function() {,  }5_ #VN . },5_!$VN .5_"%VN /0var sock5_ VN q ! //socket.write('foo');5_Y[Z"VN1!#5_8:;9VN1b %test('LazySocket#createConnection', {* 'returns a new LazySocket': function() {/ var socket = LazySocket.createConnection();, assert.ok(socket instanceof LazySocket); },- 'sets the passed host / port': function() {B var socket = LazySocket.createConnection(8080, 'example.org');$ assert.equal(socket.port, 8080);- assert.equal(socket.host, 'example.org'); },});5_9:VN1c5_#%$vN0 5