UNPKG

giles

Version:

a next-gen language watcher/compiler for pre-processed languages

160 lines (140 loc) 5.13 kB
// Generated by CoffeeScript 1.6.2 (function() { var fs, giles, path; giles = require('../giles'); fs = require('fs'); path = require('path'); describe('building', function() { return it('should build an individual file', function() { var contents; giles.compile(__dirname + '/test.test-giles-compiler'); contents = fs.readFileSync(__dirname + '/test.test-giles-compiler-out', 'utf8'); return contents.length.should.equal(5); }); }); describe('connect', function() { var req, res; req = null; res = null; before(function() { giles.addCompiler('.test-connect', '.test-connect-out', function(contents, filename, options, output) { return output("spec response"); }); req = { url: "/test.test-connect-out" }; res = { setHeader: function(a, b) { return this.headers[a] = b; }, getHeader: function(a) { return this.headers[a]; }, end: function(content) { return this.content = content; } }; return res.headers = {}; }); it('should send result', function() { var connect, next; connect = giles.connect(__dirname); next = function() { return "should not call next".should.eql(""); }; return connect(req, res, next); }); it('should output 500 error', function() {}); it('should call next on 404', function() { var connect, next; next = function() { return done(); }; connect = giles.connect(__dirname); return connect(req, res, next); }); it('should ignore url params', function() { var connect, next, url; url = "/test.test-connect-out?b"; req.url = url; next = function() { return done(); }; connect = giles.connect(__dirname); return connect(req, res, next); }); it('should return css mime type', function() { var connect, next; connect = giles.connect(__dirname); next = null; req.url = "/test-content-type.css"; connect(req, res, next); return res.getHeader("Content-Type").should.eql("text/css"); }); it('should return html mime type', function() { var connect, next; connect = giles.connect(__dirname); next = null; req.url = "/test-content-type.html"; connect(req, res, next); return res.getHeader("Content-Type").should.eql("text/html"); }); return it('should return js mime type', function() { var connect, next; connect = giles.connect(__dirname); next = null; req.url = "/test-content-type.js"; connect(req, res, next); return res.getHeader("Content-Type").should.eql("application/javascript"); }); }); describe('giles', function() { return it('should get extensions', function() { var name; name = giles.parseFileName('test.test'); name.should.eql(['test', '.test']); giles.parseFileName('test').should.eql(['test', '']); giles.parseFileName('.test').should.eql(['.test', '']); giles.parseFileName('file.min.css').should.eql(['file.min', '.css']); giles.parseFileName('file.really.long-whatever-name.out').should.eql(['file.really.long-whatever-name', '.out']); return giles.addCompiler('.test-giles-compiler', '.test-giles-compiler-out', function(contents, filename, options, output) { return output(contents.substr(0, 5)); }); }); }); describe('locals', function() { var meta; meta = null; before(function() { giles.addCompiler('.test-meta-data', '.test-meta-data-out', function(contents, filename, options, output) { return output(""); }); giles.get('test2', 'test.test-meta-data', {}); return giles.compile(__dirname + '/test.test-meta-data'); }); it('should have environment meta data', function(done) { return done(); }); return it('should have route meta data', function(done) { return done(); }); }); describe('new compiler', function() { return it('should compile correctly', function() { giles.compileFile(__dirname + '/test.test-giles-compiler', {}, {}, function(result) { result.content.should.equal(result.originalContent.substr(0, 5)); result.outputFile.indexOf('test.test-giles-compiler-out').should.not.eql(-1); return result.inputFile.indexOf('test.test-giles-compiler').should.not.eql(-1); }); giles.addCompiler(['.test-giles-compiler', '.test-giles-compiler2'], '.test-giles-compiler-out', function(contents, filename, options, output) { return output(contents.substr(0, 6)); }); giles.compileFile(__dirname + '/test.test-giles-compiler', {}, {}, function(result) { return result.content.should.equal(result.originalContent.substr(0, 6)); }); return giles.addCompiler('.test-giles-compiler', '.test-giles-compiler-out', function(contents, filename, options, output) { return output(contents.substr(0, 5)); }); }); }); }).call(this);