| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | 
							- /*eslint new-cap: ["error", {"capIsNewExceptions": ["Color"]}]*/
 
- var assert = require('assert'),
 
-   path = require('path'),
 
-   etx = require('../lib/extensions'),
 
-   binding = process.env.NODESASS_COV
 
-       ? require('../lib-cov/binding')
 
-       : require('../lib/binding');
 
- describe('binding', function() {
 
-   describe('missing error', function() {
 
-     it('should be useful', function() {
 
-       process.env.SASS_BINARY_NAME = 'unknown-x64-48';
 
-       assert.throws(
 
-         function() { binding(etx); },
 
-         function(err) {
 
-           var re = new RegExp('Missing binding.*?\\' + path.sep + 'vendor\\' + path.sep);
 
-           if ((err instanceof Error)) {
 
-             return re.test(err);
 
-           }
 
-         }
 
-       );
 
-     });
 
-     it('should list currently installed bindings', function() {
 
-       assert.throws(
 
-         function() { binding(etx); },
 
-         function(err) {
 
-           var etx = require('../lib/extensions');
 
-           delete process.env.SASS_BINARY_NAME;
 
-           if ((err instanceof Error)) {
 
-             return err.message.indexOf(
 
-               etx.getHumanEnvironment(etx.getBinaryName())
 
-             ) !== -1;
 
-           }
 
-         }
 
-       );
 
-     });
 
-   });
 
-   describe('on unsupported environment', function() {
 
-     describe('with an unsupported architecture', function() {
 
-       beforeEach(function() {
 
-         Object.defineProperty(process, 'arch', {
 
-           value: 'foo',
 
-         });
 
-       });
 
-       afterEach(function() {
 
-         Object.defineProperty(process, 'arch', {
 
-           value: 'x64',
 
-         });
 
-       });
 
-       it('should error', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Node Sass does not yet support your current environment'
 
-         );
 
-       });
 
-       it('should inform the user the architecture is unsupported', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Unsupported architecture (foo)'
 
-         );
 
-       });
 
-     });
 
-     describe('with an unsupported platform', function() {
 
-       beforeEach(function() {
 
-         Object.defineProperty(process, 'platform', {
 
-           value: 'bar',
 
-         });
 
-       });
 
-       afterEach(function() {
 
-         Object.defineProperty(process, 'platform', {
 
-           value: 'darwin',
 
-         });
 
-       });
 
-       it('should error', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Node Sass does not yet support your current environment'
 
-         );
 
-       });
 
-       it('should inform the user the platform is unsupported', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Unsupported platform (bar)'
 
-         );
 
-       });
 
-     });
 
-     describe('with an unsupported runtime', function() {
 
-       beforeEach(function() {
 
-         Object.defineProperty(process.versions, 'modules', {
 
-           value: 'baz',
 
-         });
 
-       });
 
-       afterEach(function() {
 
-         Object.defineProperty(process.versions, 'modules', {
 
-           value: 51,
 
-         });
 
-       });
 
-       it('should error', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Node Sass does not yet support your current environment'
 
-         );
 
-       });
 
-       it('should inform the user the runtime is unsupported', function() {
 
-         assert.throws(
 
-           function() { binding(etx); },
 
-           'Unsupported runtime (baz)'
 
-         );
 
-       });
 
-     });
 
-   });
 
- });
 
 
  |