X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fumask%2Ftest%2Fsimple.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fumask%2Ftest%2Fsimple.js;h=8f29ae745a47fbc5dc71602e55ee96b031c88490;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/test/simple.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/test/simple.js new file mode 100644 index 00000000..8f29ae74 --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/test/simple.js @@ -0,0 +1,166 @@ +'use strict'; + +var umask = require('..'); + +var Code = require('code'); +var Lab = require('lab'); +var lab = Lab.script(); +exports.lab = lab; + +var describe = lab.describe; +var it = lab.it; +var expect = Code.expect; + +describe('validates umask', function () { + // signature of validator: validate(obj, key, val) + // store valid value in obj[key] + // return false if invalid + + it('accepts numbers', function (done) { + var o = {}, + result = false; + + result = umask.validate(o, 'umask', 0); + expect(result).to.equal(true); + expect(o.umask).to.equal(0); + + result = umask.validate(o, 'umask', 511); + expect(result).to.equal(true); + expect(o.umask).to.equal(511); + done(); + }); + + it('accepts strings', function (done) { + var o = {}, + result; + + result = umask.validate(o, 'umask', "0"); + expect(result).to.equal(true); + expect(o.umask).to.equal(0); + + result = umask.validate(o, 'umask', "0777"); + expect(result).to.equal(true); + expect(o.umask).to.equal(511); + + done(); + }); + + it('rejects other types', function (done) { + expect(umask.validate(undefined, undefined, false)).to.equal(false); + expect(umask.validate(undefined, undefined, {})).to.equal(false); + + done(); + }); + + it('rejects non-octalish strings', function (done) { + expect(umask.validate(undefined, undefined, "1")).to.equal(false); + + done(); + }); + + it('rejects NaN strings', function (done) { + expect(umask.validate(undefined, undefined, NaN)).to.equal(false); + + done(); + }); +}); + +describe('umask to string', function () { + it("converts umask to string", function (done) { + expect(umask.toString(0)).to.equal("0000"); + expect(umask.toString(1)).to.equal("0001"); + expect(umask.toString(7)).to.equal("0007"); + expect(umask.toString(8)).to.equal("0010"); + expect(umask.toString(511)).to.equal("0777"); + expect(umask.toString(18)).to.equal("0022"); + expect(umask.toString(16)).to.equal("0020"); + done(); + }); +}); + +describe('umask from string', function () { + it('converts valid values', function (done) { + expect(umask.fromString("0000")).to.equal(0); + expect(umask.fromString("0")).to.equal(0); + expect(umask.fromString("0777")).to.equal(511); + expect(umask.fromString("0024")).to.equal(20); + + expect(umask.fromString(0)).to.equal(0); + expect(umask.fromString(20)).to.equal(20); + expect(umask.fromString(21)).to.equal(21); + expect(umask.fromString(511)).to.equal(511); + + done(); + }); + + it('converts valid values', function (done) { + expect(umask.fromString("0000")).to.equal(0); + expect(umask.fromString("0")).to.equal(0); + expect(umask.fromString("010")).to.equal(8); + expect(umask.fromString("0777")).to.equal(511); + expect(umask.fromString("0024")).to.equal(20); + + expect(umask.fromString("8")).to.equal(8); + expect(umask.fromString("9")).to.equal(9); + expect(umask.fromString("18")).to.equal(18); + expect(umask.fromString("16")).to.equal(16); + + expect(umask.fromString(0)).to.equal(0); + expect(umask.fromString(20)).to.equal(20); + expect(umask.fromString(21)).to.equal(21); + expect(umask.fromString(511)).to.equal(511); + + expect(umask.fromString(0.1)).to.equal(0); + expect(umask.fromString(511.1)).to.equal(511); + + done(); + }); + + it('errors on empty string', function (done) { + umask.fromString("", function (err, val) { + expect(err.message).to.equal('Expected octal string, got "", defaulting to "0022"'); + expect(val).to.equal(18); + done(); + }); + }); + + it('errors on invalid octal string', function (done) { + umask.fromString("099", function (err, val) { + expect(err.message).to.equal('Expected octal string, got "099", defaulting to "0022"'); + expect(val).to.equal(18); + done(); + }); + }); + + it('errors when non-string, non-number (boolean)', function (done) { + umask.fromString(false, function (err, val) { + expect(err.message).to.equal('Expected number or octal string, got false, defaulting to "0022"'); + expect(val).to.equal(18); + done(); + }); + }); + + it('errors when non-string, non-number (object)', function (done) { + umask.fromString({}, function (err, val) { + expect(err.message).to.equal('Expected number or octal string, got {}, defaulting to "0022"'); + expect(val).to.equal(18); + done(); + }); + }); + + it('errors when out of range (<0)', function (done) { + umask.fromString(-1, function (err, val) { + expect(err.message).to.equal('Must be in range 0..511 (0000..0777), got -1'); + expect(val).to.equal(18); + done(); + }); + }); + + it('errors when out of range (>511)', function (done) { + umask.fromString(512, function (err, val) { + expect(err.message).to.equal('Must be in range 0..511 (0000..0777), got 512'); + expect(val).to.equal(18); + done(); + }); + }); +});