mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-21 15:25:09 +00:00
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
/*!
|
|
* Chai - message composition utility
|
|
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
|
|
* MIT Licensed
|
|
*/
|
|
|
|
/*!
|
|
* Module dependancies
|
|
*/
|
|
|
|
var flag = require('./flag')
|
|
, getActual = require('./getActual')
|
|
, inspect = require('./inspect')
|
|
, objDisplay = require('./objDisplay');
|
|
|
|
/**
|
|
* ### .getMessage(object, message, negateMessage)
|
|
*
|
|
* Construct the error message based on flags
|
|
* and template tags. Template tags will return
|
|
* a stringified inspection of the object referenced.
|
|
*
|
|
* Message template tags:
|
|
* - `#{this}` current asserted object
|
|
* - `#{act}` actual value
|
|
* - `#{exp}` expected value
|
|
*
|
|
* @param {Object} object (constructed Assertion)
|
|
* @param {Arguments} chai.Assertion.prototype.assert arguments
|
|
* @name getMessage
|
|
* @api public
|
|
*/
|
|
|
|
module.exports = function (obj, args) {
|
|
var negate = flag(obj, 'negate')
|
|
, val = flag(obj, 'object')
|
|
, expected = args[3]
|
|
, actual = getActual(obj, args)
|
|
, msg = negate ? args[2] : args[1]
|
|
, flagMsg = flag(obj, 'message');
|
|
|
|
if(typeof msg === "function") msg = msg();
|
|
msg = msg || '';
|
|
msg = msg
|
|
.replace(/#{this}/g, objDisplay(val))
|
|
.replace(/#{act}/g, objDisplay(actual))
|
|
.replace(/#{exp}/g, objDisplay(expected));
|
|
|
|
return flagMsg ? flagMsg + ': ' + msg : msg;
|
|
};
|