Skip to content

Commit

Permalink
Merge branch 'hotfix/access-autofil-explicit'
Browse files Browse the repository at this point in the history
  • Loading branch information
valeriangalliat committed Mar 15, 2015
2 parents ae3ce41 + 6a0ce30 commit 36709fc
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
7 changes: 6 additions & 1 deletion src/annotation/annotations/access.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ export default function access(env) {
},

autofill(item) {
if (item.access !== 'auto') {
return;
}

if (env.privatePrefix === false) {
return;
}
Expand All @@ -24,10 +28,11 @@ export default function access(env) {
return 'private';
}

return 'public';
},

default() {
return 'public';
return 'auto';
},

multiple: false,
Expand Down
24 changes: 15 additions & 9 deletions test/annotations/access.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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');
});
});

0 comments on commit 36709fc

Please sign in to comment.