diff --git a/src/lib/cson.coffee b/src/lib/cson.coffee index 1c9c005..f27d9e2 100644 --- a/src/lib/cson.coffee +++ b/src/lib/cson.coffee @@ -176,6 +176,10 @@ CSON = # Return result +# Add require extension, so you can require 'foo.cson' +if require.extensions + require.extensions['.cson'] = (module, filename) -> + module.exports = CSON.parseFileSync filename # Export -module.exports = CSON \ No newline at end of file +module.exports = CSON diff --git a/src/test/sync.test.coffee b/src/test/sync.test.coffee index ea0a6ef..240a9e7 100644 --- a/src/test/sync.test.coffee +++ b/src/test/sync.test.coffee @@ -20,6 +20,7 @@ joe.describe 'sync', (describe,it) -> expectedJsonPath = outPath+'/'+index+'.json' expectedCsonPath = outPath+'/'+index+'.cson' obj = null + requiredObj = null actualJsonStr = null actualCsonStr = null expectedJsonStr = null @@ -32,6 +33,14 @@ joe.describe 'sync', (describe,it) -> return done(obj) if obj instanceof Error done() + it "require source file", (done) -> + requiredObj = require(srcCsonPath) + return done(requiredObj) if requiredObj instanceof Error + done() + + it "compare parse and require", -> + assert.deepEqual(obj,requiredObj) + it "grab conversions", (done) -> actualJsonStr = JSON.stringify(obj) actualCsonStr = CSON.stringifySync(obj) @@ -50,4 +59,4 @@ joe.describe 'sync', (describe,it) -> # Create Tests testExtensions = ['cson','cson','cson','json','coffee','js','cson'] for testExtension,i in testExtensions - createTest(testExtension,i) \ No newline at end of file + createTest(testExtension,i)