diff --git a/lib/member_builder.js b/lib/member_builder.js index 371f70b..5647eea 100644 --- a/lib/member_builder.js +++ b/lib/member_builder.js @@ -23,6 +23,24 @@ */ +/** + * Initializes member object + * + * The member object contains members for each level of visibility (public, + * protected and private). + * + * @return {{public: Object, protected: Object, private: Object}} + */ +exports.initMembers = function() +{ + return { + 'public': {}, + 'protected': {}, + 'private': {}, + }; +}; + + /** * Copies a property to the appropriate member prototype, depending on * visibility, and assigns necessary metadata from keywords diff --git a/test/test-member_builder.js b/test/test-member_builder.js new file mode 100644 index 0000000..2aa5056 --- /dev/null +++ b/test/test-member_builder.js @@ -0,0 +1,39 @@ +/** + * Tests generic member builder + * + * Copyright (C) 2010 Mike Gerwitz + * + * This file is part of ease.js. + * + * ease.js is free software: you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * @author Mike Gerwitz + * @package test + */ + +var common = require( './common' ), + assert = require( 'assert' ), + builder = common.require( 'member_builder' ); + + +( function testCanEmptyMemberObject() +{ + assert.deepEqual( + builder.initMembers(), + { 'public': {}, 'protected': {}, 'private': {} }, + "Can initialize empty (clean) member object with each level of " + + " visibility" + ); +} )(); +