code: function (dbname, version) {
  		if (mockIndexedDBTestFlags.openDBShouldBlock === true) {
  			mockIndexedDB_openDBTimer = setTimeout(function () {
  				mockIndexedDBOpenDBRequest.callBlockedHandler();
  				mockIndexedDB_openDBBlocked = true;
  			}, 20);
  		}
  		else if (mockIndexedDBTestFlags.openDBShouldAbort === true) {
  			mockIndexedDB_openDBTimer = setTimeout(function () {
  				mockIndexedDBOpenDBRequest.callAbortHandler();
  				mockIndexedDB_openDBAbort = true;
  			}, 20);
  		}
  		else if (mockIndexedDBTestFlags.upgradeNeeded === true) {
  			mockIndexedDB_openDBTimer = setTimeout(function () {
  				mockIndexedDBOpenDBRequest.callUpgradeNeeded();
  				mockIndexedDB_openDBUpgradeNeeded = true;
  			}, 20);
  		}
  		// these are order dependent, so we don't have to set so many
  		// flags in the test. can leave 'canOpenDB' in its default
  		// true state, so long as the other fail vars are checked first.
  		else if (mockIndexedDBTestFlags.canOpenDB === true) {
  			mockIndexedDB_openDBTimer = setTimeout(function () {
  				mockIndexedDBOpenDBRequest.callSuccessHandler();
  				mockIndexedDB_openDBSuccess = true;
  			}, 20);
  		}
  		else {
  			mockIndexedDB_openDBTimer = setTimeout(function () {
  				mockIndexedDBOpenDBRequest.callErrorHandler();
  				mockIndexedDB_openDBFail = true;
  			}, 20);
  		}
  
  		return mockIndexedDBOpenDBRequest;
  	}
docs: note: the mock does not simulate separate stores, so dbname is ignored