diff --git a/lib/util.js b/lib/util.js index cf4b4d6..88f1731 100644 --- a/lib/util.js +++ b/lib/util.js @@ -297,8 +297,11 @@ exports.propParse = function( data, options ) name = parse_data.name || prop; keywords = parse_data.keywords || {}; - if ( options.assumeAbstract || keywords['abstract'] ) + if ( options.assumeAbstract || keywords[ 'abstract' ] ) { + // may not be set if assumeAbstract is given + keywords[ 'abstract' ] = true; + if ( !( value instanceof Array ) ) { throw TypeError( diff --git a/test/test-class-implement.js b/test/test-class-implement.js index 0ee77ba..feb5d7b 100644 --- a/test/test-class-implement.js +++ b/test/test-class-implement.js @@ -31,12 +31,13 @@ var common = require( './common' ), ; +// test with and without abstract keyword var Type = Interface.extend( { 'abstract foo': [], }), Type2 = Interface.extend( { - 'abstract foo2': [], + foo2: [], }), Foo = {},