From 55dee7d985fd6396114e20ebb6c4fe939526731d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Galliat?= Date: Sun, 15 Mar 2015 19:33:14 +0100 Subject: [PATCH 1/2] Do not try to autofill explicit access * Fix #384 --- src/annotation/annotations/access.js | 7 ++++++- test/annotations/access.test.js | 24 +++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/annotation/annotations/access.js b/src/annotation/annotations/access.js index a01bcef7..1be75b68 100644 --- a/src/annotation/annotations/access.js +++ b/src/annotation/annotations/access.js @@ -10,6 +10,10 @@ export default function access(env) { }, autofill(item) { + if (item.access !== 'auto') { + return; + } + if (env.privatePrefix === false) { return; } @@ -24,10 +28,11 @@ export default function access(env) { return 'private'; } + return 'public'; }, default() { - return 'public'; + return 'auto'; }, multiple: false, diff --git a/test/annotations/access.test.js b/test/annotations/access.test.js index 49bc18b5..e4d0caa3 100644 --- a/test/annotations/access.test.js +++ b/test/annotations/access.test.js @@ -14,22 +14,28 @@ describe('#access', function () { }); it('should autofill based on default', function () { - assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined); - assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'public'}), 'private'); - assert.equal(access.autofill({ context: { name: '-private-name'}, access: 'public'}), 'private'); + assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'auto'}), 'public'); + assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'auto'}), 'private'); + assert.equal(access.autofill({ context: { name: '-private-name'}, access: 'auto'}), 'private'); }); it('should ignore autofill if privatePrefix is false', function () { var accessEnv = accessCtor({ privatePrefix: false }); - assert.equal(accessEnv.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined); - assert.equal(accessEnv.autofill({ context: { name: '_private-name'}, access: 'public'}), undefined); - assert.equal(accessEnv.autofill({ context: { name: '-private-name'}, access: 'public'}), undefined); + assert.equal(accessEnv.autofill({ context: { name: 'non-private'}, access: 'auto'}), undefined); + assert.equal(accessEnv.autofill({ context: { name: '_private-name'}, access: 'auto'}), undefined); + assert.equal(accessEnv.autofill({ context: { name: '-private-name'}, access: 'auto'}), undefined); }); it('should autofill based on privatePrefix', function () { var accessEnv = accessCtor({ privatePrefix: '^--' }); - assert.equal(accessEnv.autofill({ context: { name: '-non-private'}, access: 'public'}), undefined); - assert.equal(accessEnv.autofill({ context: { name: '_non-private'}, access: 'public'}), undefined); - assert.equal(accessEnv.autofill({ context: { name: '--private-name'}, access: 'public'}), 'private'); + assert.equal(accessEnv.autofill({ context: { name: '-non-private'}, access: 'auto'}), 'public'); + assert.equal(accessEnv.autofill({ context: { name: '_non-private'}, access: 'auto'}), 'public'); + assert.equal(accessEnv.autofill({ context: { name: '--private-name'}, access: 'auto'}), 'private'); + }); + + it('should respect explicit access', function () { + assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined); + assert.equal(access.autofill({ context: { name: 'private'}, access: 'private'}), undefined); + assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'auto'}), 'private'); }); }); From 6a0ce3022632982ecb1616f90231612116232e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Galliat?= Date: Sun, 15 Mar 2015 19:38:48 +0100 Subject: [PATCH 2/2] Bump 2.1.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f20be5a8..024fb477 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://twitter.com/pascalduez" } ], - "version": "2.1.3", + "version": "2.1.4", "license": { "type": "MIT", "url": "http://opensource.org/licenses/MIT"