JSFiddle - React, Tailwind, and code Playground
JavaScript
MockUp.XMLHttpRequest = (function( undefined ) {
var OriginalXMLHttpRequest = XMLHttpRequest;
var aoMatchers = [];
var bEnabled = false;
var strDefaultResponseType = '';
var createMockUp = function() {
return function() {
var oXhr = new OriginalXMLHttpRequest();
var oPublic = this;
var oPrivate = {};
oPrivate.method = '';
oPrivate.url = '';
oPrivate.async = '';
oPrivate.user = null;
oPrivate.password = null;
oPrivate.requestHeaders = {};
oPrivate.data = null;
oPrivate.responseHeaders = {};
oPrivate.requestMatches = function( oMatcher ) {
// ... matchers to return false
return true;
};
oPrivate.setMatchedResponse = function( oMatcher ) {
var nContentLength = 0;
var strHeader;
if( oMatcher.response )
{
oPublic.reponse = oMatcher.response;
}
if( oMatcher.responseType )
{
oPublic.responseType = oMatcher.responseType;
}
else
{
oPublic.responseType = strDefaultResponseType;
}
if( oPublic.responseType === 'json' )
{
oPublic.responseText = JSON.stringify( oMatcher.response );
}
if( oMatcher.responseText )
{
oPublic.responseText = oMatcher.responseText;
nContentLength = oPublic.responseText.length;
}
if( oMatcher.responseXML )
{
oPublic.responseXML = oMatcher.responseXML;
}
oPrivate.responseHeaders = oPrivate.createDefaultResponseHeaders( nContentLength );
if( oMatcher.responseHeaders )
{
for( strHeader in oMatcher.responseHeaders )
{
...