/js/lib/Socket.IO-node/support/expresso/deps/jscoverage/doc/example-jsunit/jsunit/app/jsUnitVersionCheck.js

http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs · JavaScript · 59 lines · 50 code · 9 blank · 0 comment · 10 complexity · 2ab5c3ad4753f93edfd31638c9044acc MD5 · raw file

  1. var versionRequest;
  2. function isOutOfDate(newVersionNumber) {
  3. return JSUNIT_VERSION < newVersionNumber;
  4. }
  5. function sendRequestForLatestVersion(url) {
  6. versionRequest = createXmlHttpRequest();
  7. if (versionRequest) {
  8. versionRequest.onreadystatechange = requestStateChanged;
  9. versionRequest.open("GET", url, true);
  10. versionRequest.send(null);
  11. }
  12. }
  13. function createXmlHttpRequest() {
  14. if (window.XMLHttpRequest)
  15. return new XMLHttpRequest();
  16. else if (window.ActiveXObject)
  17. return new ActiveXObject("Microsoft.XMLHTTP");
  18. }
  19. function requestStateChanged() {
  20. if (versionRequest && versionRequest.readyState == 4) {
  21. if (versionRequest.status == 200) {
  22. var latestVersion = versionRequest.responseText;
  23. if (isOutOfDate(latestVersion))
  24. versionNotLatest(latestVersion);
  25. else
  26. versionLatest();
  27. } else
  28. versionCheckError();
  29. }
  30. }
  31. function checkForLatestVersion(url) {
  32. setLatestVersionDivHTML("Checking for newer version...");
  33. try {
  34. sendRequestForLatestVersion(url);
  35. } catch (e) {
  36. setLatestVersionDivHTML("An error occurred while checking for a newer version: " + e.message);
  37. }
  38. }
  39. function versionNotLatest(latestVersion) {
  40. setLatestVersionDivHTML('<font color="red">A newer version of JsUnit, version ' + latestVersion + ', is available.</font>');
  41. }
  42. function versionLatest() {
  43. setLatestVersionDivHTML("You are running the latest version of JsUnit.");
  44. }
  45. function setLatestVersionDivHTML(string) {
  46. document.getElementById("versionCheckDiv").innerHTML = string;
  47. }
  48. function versionCheckError() {
  49. setLatestVersionDivHTML("An error occurred while checking for a newer version.");
  50. }