win7.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. var assert = require('assert')
  2. var detect = require('rewire')('../src/detect-windows');
  3. var execResponse = {
  4. code: 0,
  5. stdout: "",
  6. stderr: ""
  7. };
  8. var execStub = function(cmd, cb) {
  9. cb(execResponse.code, execResponse.stdout, execResponse.stderr);
  10. };
  11. detect.__set__('exec', execStub);
  12. describe("Windows 7 tests", function () {
  13. beforeEach(function() {
  14. execResponse.code = 0;
  15. execResponse.stdout = "";
  16. execResponse.stderr = "";
  17. });
  18. it('detects chrome', function (done) {
  19. execResponse.stdout = ' (Default) REG_SZ Google Chrome';
  20. detect(function(err, res){
  21. assert.equal(res.isChrome, true);
  22. assert.equal(res.isChromium, false);
  23. assert.equal(res.isWebkit, true);
  24. assert.equal(res.isBlink, true);
  25. assert.equal(res.commonName, 'chrome');
  26. assert.equal(res.identity, 'google chrome');
  27. done(err);
  28. });
  29. });
  30. it('detects chromium', function (done) {
  31. execResponse.stdout = ' (Default) REG_SZ Chromium.TFMVRFVME5QY6U4BBVKW7UPHQY';
  32. detect(function(err, res){
  33. assert.equal(res.isChrome, false);
  34. assert.equal(res.isChromium, true);
  35. assert.equal(res.isWebkit, true);
  36. assert.equal(res.isBlink, true);
  37. assert.equal(res.commonName, 'chromium');
  38. assert.equal(res.identity, 'chromium.tfmvrfvme5qy6u4bbvkw7uphqy');
  39. done(err);
  40. });
  41. });
  42. it('detects opera', function (done) {
  43. execResponse.stdout = ' (Default) REG_SZ OperaStable';
  44. detect(function(err, res){
  45. assert.equal(res.isOpera, true);
  46. assert.equal(res.isChrome, false);
  47. assert.equal(res.isChromium, false);
  48. assert.equal(res.isWebkit, true);
  49. assert.equal(res.isBlink, true);
  50. assert.equal(res.commonName, 'opera');
  51. assert.equal(res.identity, 'operastable');
  52. done(err);
  53. });
  54. });
  55. it('detects safari', function (done) {
  56. execResponse.stdout = ' (Default) REG_SZ Safari.exe';
  57. detect(function(err, res){
  58. assert.equal(res.isSafari, true);
  59. assert.equal(res.isChrome, false);
  60. assert.equal(res.isChromium, false);
  61. assert.equal(res.isWebkit, true);
  62. assert.equal(res.isBlink, false);
  63. assert.equal(res.commonName, 'safari');
  64. assert.equal(res.identity, 'safari.exe');
  65. done(err);
  66. });
  67. });
  68. it('detects firefox', function (done) {
  69. execResponse.stdout = ' (Default) REG_SZ FIREFOX.EXE';
  70. detect(function(err, res){
  71. assert.equal(res.isFirefox, true);
  72. assert.equal(res.isWebkit, false);
  73. assert.equal(res.commonName, 'firefox');
  74. assert.equal(res.identity, 'firefox.exe');
  75. done(err);
  76. });
  77. });
  78. it('detects ie', function (done) {
  79. execResponse.stdout = ' (Default) REG_SZ IEXPLORE.EXE';
  80. detect(function(err, res){
  81. assert.equal(res.isIE, true);
  82. assert.equal(res.isWebkit, false);
  83. assert.equal(res.commonName, 'ie');
  84. assert.equal(res.identity, 'iexplore.exe');
  85. done(err);
  86. });
  87. });
  88. });