it("addPackage() in subdir", function (done) { var testJSON = require( './pckg/TestEnum.json' ); var prepareCtx = require( '../transform/addCtxPaths' ).transform; var transform = require( '../transform/addPackage' ).transform; var jsonTools = require( 'json-tools' ); var model = jsonTools.selectable({ $src : { $json: testJSON }}); var path = './pckg/TestEnum.json'; prepareCtx(model, { $path : path, $prjDir : process.cwd() + "/test" }); var rval = transform( model ); assert.ok(rval); assert.ok( rval.$isSelectable ); assert.equal( rval.text( '#packageName' ), "package pckg;" ); done(); });
exports.transform = function( json, options ) { console.log( "-- prepare empty images list" ); var images = []; var _ = require( 'underscore' ); var Path = require( 'path' ); var tools = require( 'json-tools' ); var root = tools.selectable(json); var inputPath = root.text( '.$json > .input'); var docPath = Path.dirname( root.text( '#$path') ); var inputResolved = Path.resolve(docPath, inputPath); root.each( '.$json > .images > *', function( imgConfig ) { var copy = imgConfig.json.copy; var bgColor = imgConfig.text( '#bgColor' ); var type = imgConfig.text( '#type' ); var name = './' + imgConfig.text( '#src' ) + '.' + type; imgConfig.each( '.output > *', function( outputConfig, idx ){ var outputResolved = Path.resolve( Path.resolve(docPath, outputConfig.text( '#path' ) ), name); var imgSrcFile = Path.resolve( inputResolved, name ); var image = { type : type, width : outputConfig.json.width, height : outputConfig.json.height, input : imgSrcFile, output : outputResolved, bgColor: bgColor, copy : copy }; images.push( image ); } ) }); return images; };
it("addPackage()", function (done) { var testJSON = require( './TestEnum.json' ); var prepareCtx = require( '../transform/addCtxPaths' ).transform; var transform = require( '../transform/addPackage' ).transform; var jsonTools = require( 'json-tools' ); var model = jsonTools.selectable({ $src : { $json: testJSON }}); prepareCtx(model); var rval = transform( model ); assert.ok(rval); assert.ok( rval.$isSelectable ); assert.equal( rval.json.packageName, undefined ); done(); });
it("addCtxParams() without passed $path", function (done) { var testJSON = require( './pckg/TestEnum.json' ); var prepareCtx = require( '../transform/addCtxPaths' ).transform; var jsonTools = require( 'json-tools' ); var model = jsonTools.selectable({ $src : { $json: testJSON }}); var rval = prepareCtx(model); assert.ok(rval); assert.ok( rval.$isSelectable ); assert.ok( rval.$prjDir ); assert.ok(_.isString(rval.$prjDir ) ); assert.ok( rval.$path ); assert.ok(_.isString(rval.$path ) ); done(); });
it("addCtxParams() with passed $path", function (done) { var testJSON = require( './pckg/TestEnum.json' ); var prepareCtx = require( '../transform/addCtxPaths' ).transform; var jsonTools = require( 'json-tools' ); var model = jsonTools.selectable({ $src : { $json: testJSON }}); var path = './pckg/TestEnum.json'; // pass /test-directory var rval = prepareCtx(model, { $path : path, $prjDir : process.cwd() + "/test" }); assert.ok(rval); assert.ok( rval.$isSelectable ); assert.equal( rval.$path, path ); done(); });