Skip to content

Commit 55dee7d

Browse files
Do not try to autofill explicit access
* Fix #384
1 parent ae3ce41 commit 55dee7d

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

src/annotation/annotations/access.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ export default function access(env) {
1010
},
1111

1212
autofill(item) {
13+
if (item.access !== 'auto') {
14+
return;
15+
}
16+
1317
if (env.privatePrefix === false) {
1418
return;
1519
}
@@ -24,10 +28,11 @@ export default function access(env) {
2428
return 'private';
2529
}
2630

31+
return 'public';
2732
},
2833

2934
default() {
30-
return 'public';
35+
return 'auto';
3136
},
3237

3338
multiple: false,

test/annotations/access.test.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,28 @@ describe('#access', function () {
1414
});
1515

1616
it('should autofill based on default', function () {
17-
assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined);
18-
assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'public'}), 'private');
19-
assert.equal(access.autofill({ context: { name: '-private-name'}, access: 'public'}), 'private');
17+
assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'auto'}), 'public');
18+
assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'auto'}), 'private');
19+
assert.equal(access.autofill({ context: { name: '-private-name'}, access: 'auto'}), 'private');
2020
});
2121

2222
it('should ignore autofill if privatePrefix is false', function () {
2323
var accessEnv = accessCtor({ privatePrefix: false });
24-
assert.equal(accessEnv.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined);
25-
assert.equal(accessEnv.autofill({ context: { name: '_private-name'}, access: 'public'}), undefined);
26-
assert.equal(accessEnv.autofill({ context: { name: '-private-name'}, access: 'public'}), undefined);
24+
assert.equal(accessEnv.autofill({ context: { name: 'non-private'}, access: 'auto'}), undefined);
25+
assert.equal(accessEnv.autofill({ context: { name: '_private-name'}, access: 'auto'}), undefined);
26+
assert.equal(accessEnv.autofill({ context: { name: '-private-name'}, access: 'auto'}), undefined);
2727
});
2828

2929
it('should autofill based on privatePrefix', function () {
3030
var accessEnv = accessCtor({ privatePrefix: '^--' });
31-
assert.equal(accessEnv.autofill({ context: { name: '-non-private'}, access: 'public'}), undefined);
32-
assert.equal(accessEnv.autofill({ context: { name: '_non-private'}, access: 'public'}), undefined);
33-
assert.equal(accessEnv.autofill({ context: { name: '--private-name'}, access: 'public'}), 'private');
31+
assert.equal(accessEnv.autofill({ context: { name: '-non-private'}, access: 'auto'}), 'public');
32+
assert.equal(accessEnv.autofill({ context: { name: '_non-private'}, access: 'auto'}), 'public');
33+
assert.equal(accessEnv.autofill({ context: { name: '--private-name'}, access: 'auto'}), 'private');
34+
});
35+
36+
it('should respect explicit access', function () {
37+
assert.equal(access.autofill({ context: { name: 'non-private'}, access: 'public'}), undefined);
38+
assert.equal(access.autofill({ context: { name: 'private'}, access: 'private'}), undefined);
39+
assert.equal(access.autofill({ context: { name: '_private-name'}, access: 'auto'}), 'private');
3440
});
3541
});

0 commit comments

Comments
 (0)