win10.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. var assert = require('assert')
  2. var detect = require('rewire')('../src/detect-windows10');
  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 10 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 = ' ProgId REG_SZ ChromeHTML\r\n';
  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. done(err);
  27. });
  28. });
  29. it('detects opera', function (done) {
  30. execResponse.stdout = ' ProgId REG_SZ OperaHTML.ZNP4RVJ2ZT4O4SBFSACRM4VZ3U\r\n';
  31. detect(function(err, res){
  32. assert.equal(res.isOpera, true);
  33. assert.equal(res.isChrome, false);
  34. assert.equal(res.isChromium, false);
  35. assert.equal(res.isWebkit, true);
  36. assert.equal(res.isBlink, true);
  37. assert.equal(res.commonName, 'opera');
  38. done(err);
  39. });
  40. });
  41. it('detects safari', function (done) {
  42. execResponse.stdout = ' ProgId REG_SZ SafariURL\r\n';
  43. detect(function(err, res){
  44. assert.equal(res.isSafari, true);
  45. assert.equal(res.isChrome, false);
  46. assert.equal(res.isChromium, false);
  47. assert.equal(res.isWebkit, true);
  48. assert.equal(res.isBlink, false);
  49. assert.equal(res.commonName, 'safari');
  50. done(err);
  51. });
  52. });
  53. it('detects firefox', function (done) {
  54. execResponse.stdout = ' ProgId REG_SZ FirefoxURL\r\n';
  55. detect(function(err, res){
  56. assert.equal(res.isFirefox, true);
  57. assert.equal(res.isWebkit, false);
  58. assert.equal(res.commonName, 'firefox');
  59. done(err);
  60. });
  61. });
  62. it('detects ie', function (done) {
  63. execResponse.stdout = ' ProgId REG_SZ IE.HTTP';
  64. detect(function(err, res){
  65. assert.equal(res.isIE, true);
  66. assert.equal(res.isWebkit, false);
  67. assert.equal(res.commonName, 'ie');
  68. done(err);
  69. });
  70. });
  71. it('detects edge', function (done) {
  72. execResponse.stdout = ' ProgId REG_SZ AppXq0fevzme2pys62n3e0fbqa7peapykr8v\r\n';
  73. detect(function(err, res){
  74. assert.equal(res.isEdge, true);
  75. assert.equal(res.isIE, false);
  76. assert.equal(res.isWebkit, false);
  77. assert.equal(res.commonName, 'edge');
  78. done(err);
  79. });
  80. });
  81. });