diff --git a/lib/MemberBuilder.js b/lib/MemberBuilder.js index 1be9430..dda0086 100644 --- a/lib/MemberBuilder.js +++ b/lib/MemberBuilder.js @@ -210,7 +210,7 @@ exports.buildGetter = function( members, meta, name, value, keywords, base ) validateGetterSetter( members, keywords, name, base ); Object.defineProperty( - getMemberVisibility( members, keywords ), + getMemberVisibility( members, keywords, name ), name, { get: value, @@ -246,7 +246,7 @@ exports.buildSetter = function( members, meta, name, value, keywords, base ) validateGetterSetter( members, keywords, name, base ); Object.defineProperty( - getMemberVisibility( members, keywords ), + getMemberVisibility( members, keywords, name ), name, { set: value, diff --git a/test/MemberBuilder/VisibilityTest.js b/test/MemberBuilder/VisibilityTest.js index 3e553c5..cef16eb 100644 --- a/test/MemberBuilder/VisibilityTest.js +++ b/test/MemberBuilder/VisibilityTest.js @@ -195,7 +195,7 @@ require( 'common' ).testCase( _self.assertOk( ( e.message.search( name ) > -1 ), 'Multiple access modifier error message should ' + - 'contain name of member' + 'contain name of member; received: ' + e.message ); return; @@ -376,4 +376,34 @@ require( 'common' ).testCase( ); } ); }, + + + 'Only one access modifier may be used per getter': function() + { + if ( !gst ) return; + + var _self = this; + + this.multiVisFailureTest( function( name, keywords ) + { + _self.sut.buildGetter( + _self.members, {}, name, function() {}, keywords, {} + ); + } ); + }, + + + 'Only one access modifier may be used per setter': function() + { + if ( !gst ) return; + + var _self = this; + + this.multiVisFailureTest( function( name, keywords ) + { + _self.sut.buildSetter( + _self.members, {}, name, function() {}, keywords, {} + ); + } ); + }, } );