[Pkg-javascript-commits] [node-mocks-http] 222/296: Merge branch '2.x'

Thorsten Alteholz alteholz at moszumanska.debian.org
Mon Feb 8 18:13:38 UTC 2016


This is an automated email from the git hooks/post-receive script.

alteholz pushed a commit to branch master
in repository node-mocks-http.

commit bc76a73675c09981fe4d820b353d3f6d32c486ff
Merge: 315d33c 1388aa2
Author: Johnny Estilles <johnny.estilles at agentia.asia>
Date:   Thu May 7 21:30:27 2015 +0800

    Merge branch '2.x'

 .eslintrc                  |    2 +-
 .travis.yml                |    5 +
 gulpfile.js                |   42 +-
 lib/mock-application.js    |  102 +++++
 lib/mock-express.js        |   33 ++
 lib/mockRequest.js         |  470 +++++++++----------
 lib/mockResponse.js        | 1072 ++++++++++++++++++++++----------------------
 lib/mockWritableStream.js  |   10 +-
 lib/node/_http_incoming.js |  118 +++++
 package.json               |    6 +-
 10 files changed, 1060 insertions(+), 800 deletions(-)

diff --cc lib/mockResponse.js
index eacc555,73215b2..184be86
--- a/lib/mockResponse.js
+++ b/lib/mockResponse.js
@@@ -32,603 -32,602 +32,603 @@@ var http = require('./node/http')
  
  function createResponse(options) {
  
-     if (!options) {
-         options = {};
-     }
- 
-     var _endCalled = false;
-     var _data = '';
-     var _encoding = options.encoding;
- 
-     var _redirectUrl = '';
-     var _renderView = '';
-     var _renderData = {};
- 
-     if (options.writableStream) {
-         WritableStream = options.writableStream;
-     }
-     if (options.eventEmitter) {
-         EventEmitter = options.eventEmitter;
-     }
-     var writableStream = new WritableStream();
-     var eventEmitter = new EventEmitter();
+   if (!options) {
+     options = {};
+   }
  
-     // create mockResponse
+   var _endCalled = false;
+   var _data = '';
 -  var _headers = {};
+   var _encoding = options.encoding;
  
-     var mockResponse = {};
+   var _redirectUrl = '';
+   var _renderView = '';
+   var _renderData = {};
  
-     mockResponse._headers = {};
+   if (options.writableStream) {
+     WritableStream = options.writableStream;
+   }
+   if (options.eventEmitter) {
+     EventEmitter = options.eventEmitter;
+   }
+   var writableStream = new WritableStream();
+   var eventEmitter = new EventEmitter();
  
-     mockResponse.statusCode = 200;
-     mockResponse.cookies = {};
+   // create mockResponse
  
-     mockResponse.cookie = function(name, value, opt) {
+   var mockResponse = {};
  
-         mockResponse.cookies[name] = {
-             value: value,
-             options: opt
-         };
++  mockResponse._headers = {};
 +
-     };
+   mockResponse.statusCode = 200;
+   mockResponse.cookies = {};
  
-     mockResponse.clearCookie = function(name) {
-         delete mockResponse.cookies[name];
-     };
+   mockResponse.cookie = function(name, value, opt) {
  
-     mockResponse.status = function(code) {
-         mockResponse.statusCode = code;
-         return this;
+     mockResponse.cookies[name] = {
+       value: value,
+       options: opt
      };
  
-     /**
-      * Function: writeHead
-      *
-      *  The 'writeHead' function from node's HTTP API.
-      *
-      * Parameters:
-      *
-      *  statusCode - A number to send as a the HTTP status
-      *  headers    - An object of properties that will be used for
-      *               the HTTP headers.
-      */
-     mockResponse.writeHead = function(statusCode, phrase, headers) {
- 
-         if (_endCalled) {
-             throw 'The end() method has already been called.';
-         }
- 
-         mockResponse.statusCode = statusCode;
- 
-         // Note: Not sure if the headers given in this function
-         //       overwrite any headers specified earlier.
-         if (headers) {
-             mockResponse._headers = headers;
-         } else {
-             mockResponse._headers = phrase;
-         }
- 
-     };
+   };
  
-     /**
-      *  The 'send' function from node's HTTP API that returns data
-      *  to the client. Can be called multiple times.
-      *
-      * @param data The data to return. Must be a string.
-      */
-     mockResponse.send = function(a, b, c) {
+   mockResponse.clearCookie = function(name) {
+     delete mockResponse.cookies[name];
+   };
  
-         var _formatData = function(data) {
+   mockResponse.status = function(code) {
+     mockResponse.statusCode = code;
+     return this;
+   };
  
-             if (typeof data === 'object') {
+   /**
+    * Function: writeHead
+    *
+    *  The 'writeHead' function from node's HTTP API.
+    *
+    * Parameters:
+    *
+    *  statusCode - A number to send as a the HTTP status
+    *  headers    - An object of properties that will be used for
+    *               the HTTP headers.
+    */
+   mockResponse.writeHead = function(statusCode, phrase, headers) {
  
-                 if (data.statusCode) {
-                     mockResponse.statusCode = data.statusCode;
-                 } else if (data.httpCode) {
-                     mockResponse.statusCode = data.statusCode;
-                 }
- 
-                 if (data.body) {
-                     _data = data.body;
-                 } else {
-                     _data = data;
-                 }
- 
-             } else {
-                 _data += data;
-             }
- 
-         };
- 
-         switch (arguments.length) {
- 
-             case 1:
- 
-                 if (typeof a === 'number') {
-                     mockResponse.statusCode = a;
-                 } else {
-                     _formatData(a);
-                 }
- 
-                 break;
- 
-             case 2:
+     if (_endCalled) {
+       throw 'The end() method has already been called.';
+     }
  
-                 if (typeof a === 'number') {
-                     _formatData(b);
-                     mockResponse.statusCode = a;
-                 } else if (typeof b === 'number') {
-                     _formatData(a);
-                     mockResponse.statusCode = b;
-                     console.warn('WARNING: Called send() with deprecated parameter order');
-                 } else {
-                     _formatData(a);
-                     _encoding = b;
-                 }
+     mockResponse.statusCode = statusCode;
  
-                 break;
+     // Note: Not sure if the headers given in this function
+     //       overwrite any headers specified earlier.
+     if (headers) {
 -      _headers = headers;
++      mockResponse._headers = headers;
+     } else {
 -      _headers = phrase;
++      mockResponse._headers = phrase;
+     }
  
-             case 3:
+   };
  
-                 _formatData(a);
-                 mockResponse._headers = b;
-                 mockResponse.statusCode = c;
-                 console.warn('WARNING: Called send() with deprecated three parameters');
+   /**
+    *  The 'send' function from node's HTTP API that returns data
+    *  to the client. Can be called multiple times.
+    *
+    * @param data The data to return. Must be a string.
+    */
+   mockResponse.send = function(a, b, c) {
  
-                 break;
+     var _formatData = function(data) {
  
-             default:
-                 break;
+       if (typeof data === 'object') {
  
+         if (data.statusCode) {
+           mockResponse.statusCode = data.statusCode;
+         } else if (data.httpCode) {
+           mockResponse.statusCode = data.statusCode;
          }
  
-         mockResponse.emit('send');
-         mockResponse.emit('end');
- 
-     };
- 
-     /**
-      * Send given HTTP status code.
-      *
-      * Sets the response status to `statusCode` and the body of the
-      * response to the standard description from node's http.STATUS_CODES
-      * or the statusCode number if no description.
-      *
-      * Examples:
-      *
-      *     mockResponse.sendStatus(200);
-      *
-      * @param {number} statusCode
-      * @api public
-      */
- 
-     mockResponse.sendStatus = function sendStatus(statusCode) {
-         var body = http.STATUS_CODES[statusCode] || String(statusCode);
- 
-         mockResponse.statusCode = statusCode;
-         mockResponse.type('txt');
- 
-         return mockResponse.send(body);
-     };
- 
- 
-     /**
-      * Function: json
-      *
-      *   The 'json' function from node's HTTP API that returns JSON
-      *   data to the client.
-      *
-      *  Parameters:
-      *
-      *   a - Either a statusCode or string containing JSON payload
-      *   b - Either a statusCode or string containing JSON payload
-      *
-      *  If not specified, the statusCode defaults to 200.
-      *  Second parameter is optional.
-      */
-     mockResponse.json = function(a, b) {
- 
-         mockResponse.setHeader('Content-Type', 'application/json');
-         if (a) {
-             if (typeof a === 'number') {
-                 mockResponse.statusCode = a;
-             } else {
-                 _data += JSON.stringify(a);
-             }
-         }
-         if (b) {
-             if (typeof b === 'number') {
-                 mockResponse.statusCode = b;
-             } else {
-                 _data += JSON.stringify(b);
-             }
+         if (data.body) {
+           _data = data.body;
+         } else {
+           _data = data;
          }
-     };
- 
-     /**
-      * Set "Content-Type" response header with `type` through `mime.lookup()`
-      * when it does not contain "/", or set the Content-Type to `type` otherwise.
-      *
-      * Examples:
-      *
-      *     res.type('.html');
-      *     res.type('html');
-      *     res.type('json');
-      *     res.type('application/json');
-      *     res.type('png');
-      *
-      * @param {String} type
-      * @return {ServerResponse} for chaining
-      * @api public
-      */
-     mockResponse.contentType = mockResponse.type = function(type){
-         return mockResponse.set('Content-Type', type.indexOf('/') >= 0 ? type : mime.lookup(type));
-     };
- 
-     /**
-      * Function: write
-      *
-      *    This function has the same behavior as the 'send' function.
-      *
-      * Parameters:
-      *
-      *  data - The data to return. Must be a string. Appended to
-      *         previous calls to data.
-      *  encoding - Optional encoding value.
-      */
- 
-     mockResponse.write = function(data, encoding) {
  
+       } else {
          _data += data;
- 
-         if (encoding) {
-             _encoding = encoding;
-         }
+       }
  
      };
  
-     /**
-      *  Function: end
-      *
-      *  The 'end' function from node's HTTP API that finishes
-      *  the connection request. This must be called.
-      *
-      * Parameters:
-      *
-      *  data - Optional data to return. Must be a string. Appended
-      *         to previous calls to <send>.
-      *  encoding - Optional encoding value.
-      */
-     mockResponse.end = function(data, encoding) {
- 
-         _endCalled = true;
- 
-         if (data) {
-             _data += data;
-         }
- 
-         if (encoding) {
-             _encoding = encoding;
-         }
- 
-         mockResponse.emit('end');
+     switch (arguments.length) {
  
-     };
+       case 1:
  
-    /**
-     * Set header `field` to `val`, or pass
-     * an object of header fields.
-     *
-     * Examples:
-     *
-     *    res.set('Foo', ['bar', 'baz']);
-     *    res.set('Accept', 'application/json');
-     *    res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
-     *
-     * Aliased as `mockResponse.header()`.
-     *
-     * @param {String|Object|Array} field
-     * @param {String} val
-     * @return {ServerResponse} for chaining
-     * @api public
-     */
-     mockResponse.set = mockResponse.header = function header(field, val) {
-         if (arguments.length === 2) {
-             if (Array.isArray(val)) {
-                 val = val.map(String);
-             } else {
-                 val = String(val);
-             }
-             mockResponse.setHeader(field, val);
+         if (typeof a === 'number') {
+           mockResponse.statusCode = a;
          } else {
-             for (var key in field) {
-                 mockResponse.setHeader(key, field[key]);
-             }
+           _formatData(a);
          }
-         return mockResponse;
-     };
- 
-     /**
-      * Function: getHeader
-      * Function: get
-      *
-      *   Returns a particular header by name.
-      */
-     mockResponse.get = mockResponse.getHeader = function(name) {
-         return mockResponse._headers[name];
-     };
- 
-     /**
-      * Function: setHeader
-      * Function: set
-      *
-      *   Set a particular header by name.
-      */
-     mockResponse.setHeader = function(name, value) {
-         mockResponse._headers[name] = value;
-         return value;
-     };
- 
-     /**
-      * Function: removeHeader
-      *
-      *   Removes an HTTP header by name.
-      */
-     mockResponse.removeHeader = function(name) {
-         delete mockResponse._headers[name];
-     };
- 
-     /**
-      * Function: setEncoding
-      *
-      *    Sets the encoding for the data. Generally 'utf8'.
-      *
-      * Parameters:
-      *
-      *   encoding - The string representing the encoding value.
-      */
-     mockResponse.setEncoding = function(encoding) {
-         _encoding = encoding;
-     };
- 
-     /**
-      * Function: redirect
-      *
-      *     Redirect to a url with response code
-      */
-     mockResponse.redirect = function(a, b) {
- 
-         switch (arguments.length) {
- 
-             case 1:
  
-                 mockResponse.statusCode = 302;
-                 _redirectUrl = a;
-                 break;
+         break;
  
-             case 2:
- 
-                 if (typeof a === 'number') {
-                     mockResponse.statusCode = a;
-                     _redirectUrl = b;
-                 }
- 
-                 break;
- 
-             default:
-                 break;
- 
-         }
- 
-     };
- 
-     /**
-      * Function: render
-      *
-      *     Render a view with a callback responding with the
-      *     rendered string.
-      */
-     mockResponse.render = function(a, b) {
- 
-         _renderView = a;
- 
-         switch (arguments.length) {
- 
-             case 2:
-                 _renderData = b;
-                 break;
- 
-             default:
-                 break;
+       case 2:
  
+         if (typeof a === 'number') {
+           _formatData(b);
+           mockResponse.statusCode = a;
+         } else if (typeof b === 'number') {
+           _formatData(a);
+           mockResponse.statusCode = b;
+           console.warn('WARNING: Called send() with deprecated parameter order');
+         } else {
+           _formatData(a);
+           _encoding = b;
          }
  
-         mockResponse.emit('render');
-         mockResponse.emit('end');
- 
-     };
- 
-     // WritableStream.writable is not a function
-     // mockResponse.writable = function() {
-     //     return writableStream.writable.apply(this, arguments);
-     // };
- 
-     // mockResponse.end = function(){
-     //  return writableStream.end.apply(this, arguments);
-     // };
- 
-     mockResponse.destroy = function() {
-         return writableStream.destroy.apply(this, arguments);
-     };
- 
-     mockResponse.destroySoon = function() {
-         return writableStream.destroySoon.apply(this, arguments);
-     };
+         break;
  
-     mockResponse.addListener = function() {
-         return eventEmitter.addListener.apply(this, arguments);
-     };
+       case 3:
  
-     mockResponse.on = function() {
-         return eventEmitter.on.apply(this, arguments);
-     };
+         _formatData(a);
 -        _headers = b;
++        mockResponse._headers = b;
+         mockResponse.statusCode = c;
+         console.warn('WARNING: Called send() with deprecated three parameters');
  
-     mockResponse.once = function() {
-         return eventEmitter.once.apply(this, arguments);
-     };
+         break;
  
-     mockResponse.removeListener = function() {
-         return eventEmitter.removeListener.apply(this, arguments);
-     };
+       default:
+         break;
  
-     mockResponse.removeAllListeners = function() {
-         return eventEmitter.removeAllListeners.apply(this, arguments);
-     };
- 
-     mockResponse.setMaxListeners = function() {
-         return eventEmitter.setMaxListeners.apply(this, arguments);
-     };
+     }
  
-     mockResponse.listeners = function() {
-         return eventEmitter.listeners.apply(this, arguments);
-     };
+     mockResponse.emit('send');
+     mockResponse.emit('end');
+ 
+   };
+ 
+   /**
+    * Send given HTTP status code.
+    *
+    * Sets the response status to `statusCode` and the body of the
+    * response to the standard description from node's http.STATUS_CODES
+    * or the statusCode number if no description.
+    *
+    * Examples:
+    *
+    *     mockResponse.sendStatus(200);
+    *
+    * @param {number} statusCode
+    * @api public
+    */
+ 
+   mockResponse.sendStatus = function sendStatus(statusCode) {
+     var body = http.STATUS_CODES[statusCode] || String(statusCode);
+ 
+     mockResponse.statusCode = statusCode;
+     mockResponse.type('txt');
+ 
+     return mockResponse.send(body);
+   };
+ 
+ 
+   /**
+    * Function: json
+    *
+    *   The 'json' function from node's HTTP API that returns JSON
+    *   data to the client.
+    *
+    *  Parameters:
+    *
+    *   a - Either a statusCode or string containing JSON payload
+    *   b - Either a statusCode or string containing JSON payload
+    *
+    *  If not specified, the statusCode defaults to 200.
+    *  Second parameter is optional.
+    */
+   mockResponse.json = function(a, b) {
+ 
+     mockResponse.setHeader('Content-Type', 'application/json');
+     if (a) {
+       if (typeof a === 'number') {
+         mockResponse.statusCode = a;
+       } else {
+         _data += JSON.stringify(a);
+       }
+     }
+     if (b) {
+       if (typeof b === 'number') {
+         mockResponse.statusCode = b;
+       } else {
+         _data += JSON.stringify(b);
+       }
+     }
+   };
+ 
+   /**
+    * Set "Content-Type" response header with `type` through `mime.lookup()`
+    * when it does not contain "/", or set the Content-Type to `type` otherwise.
+    *
+    * Examples:
+    *
+    *     res.type('.html');
+    *     res.type('html');
+    *     res.type('json');
+    *     res.type('application/json');
+    *     res.type('png');
+    *
+    * @param {String} type
+    * @return {ServerResponse} for chaining
+    * @api public
+    */
+   mockResponse.contentType = mockResponse.type = function(type){
+     return mockResponse.set('Content-Type', type.indexOf('/') >= 0 ? type : mime.lookup(type));
+   };
+ 
+   /**
+    * Function: write
+    *
+    *    This function has the same behavior as the 'send' function.
+    *
+    * Parameters:
+    *
+    *  data - The data to return. Must be a string. Appended to
+    *         previous calls to data.
+    *  encoding - Optional encoding value.
+    */
+ 
+   mockResponse.write = function(data, encoding) {
+ 
+     _data += data;
+ 
+     if (encoding) {
+       _encoding = encoding;
+     }
  
-     mockResponse.emit = function() {
-         return eventEmitter.emit.apply(this, arguments);
-     };
+   };
+ 
+   /**
+    *  Function: end
+    *
+    *  The 'end' function from node's HTTP API that finishes
+    *  the connection request. This must be called.
+    *
+    * Parameters:
+    *
+    *  data - Optional data to return. Must be a string. Appended
+    *         to previous calls to <send>.
+    *  encoding - Optional encoding value.
+    */
+   mockResponse.end = function(data, encoding) {
+ 
+     _endCalled = true;
+ 
+     if (data) {
+       _data += data;
+     }
  
-     //This mock object stores some state as well
-     //as some test-analysis functions:
- 
-     /**
-      * Function: _isEndCalled
-      *
-      *  Since the <end> function must be called, this function
-      *  returns true if it has been called. False otherwise.
-      */
-     mockResponse._isEndCalled = function() {
-         return _endCalled;
-     };
+     if (encoding) {
+       _encoding = encoding;
+     }
  
-     /**
-      * Function: _getHeaders
-      *
-      *  Returns all the headers that were set. This may be an
-      *  empty object, but probably will have "Content-Type" set.
-      */
-     mockResponse._getHeaders = function() {
-         return mockResponse._headers;
-     };
+     mockResponse.emit('end');
+ 
+   };
+ 
 - /**
++  /**
+   * Set header `field` to `val`, or pass
+   * an object of header fields.
+   *
+   * Examples:
+   *
+   *    res.set('Foo', ['bar', 'baz']);
+   *    res.set('Accept', 'application/json');
+   *    res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
+   *
+   * Aliased as `mockResponse.header()`.
+   *
+   * @param {String|Object|Array} field
+   * @param {String} val
+   * @return {ServerResponse} for chaining
+   * @api public
+   */
+   mockResponse.set = mockResponse.header = function header(field, val) {
+     if (arguments.length === 2) {
+       if (Array.isArray(val)) {
+         val = val.map(String);
+       } else {
+         val = String(val);
+       }
+       mockResponse.setHeader(field, val);
+     } else {
+       for (var key in field) {
+         mockResponse.setHeader(key, field[key]);
+       }
+     }
+     return mockResponse;
+   };
+ 
+   /**
+    * Function: getHeader
+    * Function: get
+    *
+    *   Returns a particular header by name.
+    */
+   mockResponse.get = mockResponse.getHeader = function(name) {
 -    return _headers[name];
++    return mockResponse._headers[name];
+   };
+ 
+   /**
+    * Function: setHeader
+    * Function: set
+    *
+    *   Set a particular header by name.
+    */
+   mockResponse.setHeader = function(name, value) {
 -    _headers[name] = value;
++    mockResponse._headers[name] = value;
+     return value;
+   };
+ 
+   /**
+    * Function: removeHeader
+    *
+    *   Removes an HTTP header by name.
+    */
+   mockResponse.removeHeader = function(name) {
 -    delete _headers[name];
++    delete mockResponse._headers[name];
+   };
+ 
+   /**
+    * Function: setEncoding
+    *
+    *    Sets the encoding for the data. Generally 'utf8'.
+    *
+    * Parameters:
+    *
+    *   encoding - The string representing the encoding value.
+    */
+   mockResponse.setEncoding = function(encoding) {
+     _encoding = encoding;
+   };
+ 
+   /**
+    * Function: redirect
+    *
+    *     Redirect to a url with response code
+    */
+   mockResponse.redirect = function(a, b) {
+ 
+     switch (arguments.length) {
+ 
+       case 1:
+ 
+         mockResponse.statusCode = 302;
+         _redirectUrl = a;
+         break;
+ 
+       case 2:
+ 
+         if (typeof a === 'number') {
+           mockResponse.statusCode = a;
+           _redirectUrl = b;
+         }
  
-     /**
-      * Function: _getData
-      *
-      *  The data sent to the user.
-      */
-     mockResponse._getData = function() {
-         return _data;
-     };
+         break;
  
-     /**
-      * Function: _getStatusCode
-      *
-      *  The status code that was sent to the user.
-      */
-     mockResponse._getStatusCode = function() {
-         return mockResponse.statusCode;
-     };
+       default:
+         break;
  
-     /**
-      * Function: _isJSON
-      *
-      *  Returns true if the data sent was defined as JSON.
-      *  It doesn't validate the data that was sent.
-      */
-     mockResponse._isJSON = function() {
-         return (mockResponse._headers['Content-Type'] === 'application/json');
-     };
+     }
  
-     /**
-      * Function: _isUTF8
-      *
-      *    If the encoding was set, and it was set to UTF-8, then
-      *    this function return true. False otherwise.
-      *
-      * Returns:
-      *
-      *   False if the encoding wasn't set and wasn't set to "utf8".
-      */
-     mockResponse._isUTF8 = function() {
- 
-         if (!_encoding) {
-             return false;
-         }
+   };
  
-         return (_encoding === 'utf8');
+   /**
+    * Function: render
+    *
+    *     Render a view with a callback responding with the
+    *     rendered string.
+    */
+   mockResponse.render = function(a, b) {
  
-     };
+     _renderView = a;
  
-     /**
-      * Function: _isDataLengthValid
-      *
-      *    If the Content-Length header was set, this will only
-      *    return true if the length is actually the length of the
-      *    data that was set.
-      *
-      * Returns:
-      *
-      *   True if the "Content-Length" header was not
-      *   set. Otherwise, it compares it.
-      */
-     mockResponse._isDataLengthValid = function() {
- 
-         if (mockResponse._headers['Content-Length']) {
-             return (mockResponse._headers['Content-Length'].toString() === _data.length.toString());
-         }
+     switch (arguments.length) {
  
-         return true;
+       case 2:
+         _renderData = b;
+         break;
  
-     };
+       default:
+         break;
  
-     /**
-      * Function: _getRedirectUrl
-      *
-      *     Return redirect url of redirect method
-      *
-      * Returns:
-      *
-      *     Redirect url
-      */
-     mockResponse._getRedirectUrl = function() {
-         return _redirectUrl;
-     };
+     }
  
-     /**
-      * Function: _getRenderView
-      *
-      *     Return render view of render method
-      *
-      * Returns:
-      *
-      *     render view
-      */
-     mockResponse._getRenderView = function() {
-         return _renderView;
-     };
+     mockResponse.emit('render');
+     mockResponse.emit('end');
+ 
+   };
+ 
+   // WritableStream.writable is not a function
+   // mockResponse.writable = function() {
+   //     return writableStream.writable.apply(this, arguments);
+   // };
+ 
+   // mockResponse.end = function(){
+   //  return writableStream.end.apply(this, arguments);
+   // };
+ 
+   mockResponse.destroy = function() {
+     return writableStream.destroy.apply(this, arguments);
+   };
+ 
+   mockResponse.destroySoon = function() {
+     return writableStream.destroySoon.apply(this, arguments);
+   };
+ 
+   mockResponse.addListener = function() {
+     return eventEmitter.addListener.apply(this, arguments);
+   };
+ 
+   mockResponse.on = function() {
+     return eventEmitter.on.apply(this, arguments);
+   };
+ 
+   mockResponse.once = function() {
+     return eventEmitter.once.apply(this, arguments);
+   };
+ 
+   mockResponse.removeListener = function() {
+     return eventEmitter.removeListener.apply(this, arguments);
+   };
+ 
+   mockResponse.removeAllListeners = function() {
+     return eventEmitter.removeAllListeners.apply(this, arguments);
+   };
+ 
+   mockResponse.setMaxListeners = function() {
+     return eventEmitter.setMaxListeners.apply(this, arguments);
+   };
+ 
+   mockResponse.listeners = function() {
+     return eventEmitter.listeners.apply(this, arguments);
+   };
+ 
+   mockResponse.emit = function() {
+     return eventEmitter.emit.apply(this, arguments);
+   };
+ 
+   //This mock object stores some state as well
+   //as some test-analysis functions:
+ 
+   /**
+    * Function: _isEndCalled
+    *
+    *  Since the <end> function must be called, this function
+    *  returns true if it has been called. False otherwise.
+    */
+   mockResponse._isEndCalled = function() {
+     return _endCalled;
+   };
+ 
+   /**
+    * Function: _getHeaders
+    *
+    *  Returns all the headers that were set. This may be an
+    *  empty object, but probably will have "Content-Type" set.
+    */
+   mockResponse._getHeaders = function() {
 -    return _headers;
++    return mockResponse._headers;
+   };
+ 
+   /**
+    * Function: _getData
+    *
+    *  The data sent to the user.
+    */
+   mockResponse._getData = function() {
+     return _data;
+   };
+ 
+   /**
+    * Function: _getStatusCode
+    *
+    *  The status code that was sent to the user.
+    */
+   mockResponse._getStatusCode = function() {
+     return mockResponse.statusCode;
+   };
+ 
+   /**
+    * Function: _isJSON
+    *
+    *  Returns true if the data sent was defined as JSON.
+    *  It doesn't validate the data that was sent.
+    */
+   mockResponse._isJSON = function() {
 -    return (_headers['Content-Type'] === 'application/json');
++    return (mockResponse._headers['Content-Type'] === 'application/json');
+   };
+ 
+   /**
+    * Function: _isUTF8
+    *
+    *    If the encoding was set, and it was set to UTF-8, then
+    *    this function return true. False otherwise.
+    *
+    * Returns:
+    *
+    *   False if the encoding wasn't set and wasn't set to "utf8".
+    */
+   mockResponse._isUTF8 = function() {
+ 
+     if (!_encoding) {
+       return false;
+     }
  
-     /**
-      * Function: _getRenderData
-      *
-      *     Return render data of render method
-      *
-      * Returns:
-      *
-      *     render data
-      */
-     mockResponse._getRenderData = function() {
-         return _renderData;
-     };
+     return (_encoding === 'utf8');
+ 
+   };
+ 
+   /**
+    * Function: _isDataLengthValid
+    *
+    *    If the Content-Length header was set, this will only
+    *    return true if the length is actually the length of the
+    *    data that was set.
+    *
+    * Returns:
+    *
+    *   True if the "Content-Length" header was not
+    *   set. Otherwise, it compares it.
+    */
+   mockResponse._isDataLengthValid = function() {
+ 
 -    if (_headers['Content-Length']) {
 -      return (_headers['Content-Length'].toString() === _data.length.toString());
++    if (mockResponse._headers['Content-Length']) {
++      return (mockResponse._headers['Content-Length'].toString() === _data.length.toString());
+     }
  
-     return mockResponse;
+     return true;
+ 
+   };
+ 
+   /**
+    * Function: _getRedirectUrl
+    *
+    *     Return redirect url of redirect method
+    *
+    * Returns:
+    *
+    *     Redirect url
+    */
+   mockResponse._getRedirectUrl = function() {
+     return _redirectUrl;
+   };
+ 
+   /**
+    * Function: _getRenderView
+    *
+    *     Return render view of render method
+    *
+    * Returns:
+    *
+    *     render view
+    */
+   mockResponse._getRenderView = function() {
+     return _renderView;
+   };
+ 
+   /**
+    * Function: _getRenderData
+    *
+    *     Return render data of render method
+    *
+    * Returns:
+    *
+    *     render data
+    */
+   mockResponse._getRenderData = function() {
+     return _renderData;
+   };
+ 
+   return mockResponse;
  
  }
  

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-mocks-http.git



More information about the Pkg-javascript-commits mailing list