witten
/
luminotes
Archived
1
0
Fork 0
This repository has been archived on 2023-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
luminotes/static/jsunit/app/jsUnitVersionCheck.js

59 lines
1.8 KiB
JavaScript

var versionRequest;
function isOutOfDate(newVersionNumber) {
return JSUNIT_VERSION < newVersionNumber;
}
function sendRequestForLatestVersion(url) {
versionRequest = createXmlHttpRequest();
if (versionRequest) {
versionRequest.onreadystatechange = requestStateChanged;
versionRequest.open("GET", url, true);
versionRequest.send(null);
}
}
function createXmlHttpRequest() {
if (window.XMLHttpRequest)
return new XMLHttpRequest();
else if (window.ActiveXObject)
return new ActiveXObject("Microsoft.XMLHTTP");
}
function requestStateChanged() {
if (versionRequest && versionRequest.readyState == 4) {
if (versionRequest.status == 200) {
var latestVersion = versionRequest.responseText;
if (isOutOfDate(latestVersion))
versionNotLatest(latestVersion);
else
versionLatest();
} else
versionCheckError();
}
}
function checkForLatestVersion(url) {
setLatestVersionDivHTML("Checking for newer version...");
try {
sendRequestForLatestVersion(url);
} catch (e) {
setLatestVersionDivHTML("An error occurred while checking for a newer version: " + e.message);
}
}
function versionNotLatest(latestVersion) {
setLatestVersionDivHTML('<font color="red">A newer version of JsUnit, version ' + latestVersion + ', is available.</font>');
}
function versionLatest() {
setLatestVersionDivHTML("You are running the latest version of JsUnit.");
}
function setLatestVersionDivHTML(string) {
document.getElementById("versionCheckDiv").innerHTML = string;
}
function versionCheckError() {
setLatestVersionDivHTML("An error occurred while checking for a newer version.");
}