123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- var should = require('should')
- var polymer = require('../')
- describe("errors", function(){
- var root = __dirname + "/fixtures/errors"
- var poly = polymer.root(root)
- var log = function(error){
- console.log("\n")
- console.log("source :", error.source)
- console.log("dest :", error.dest)
- console.log("lineno :", error.lineno)
- console.log("filename :", error.filename)
- console.log("message :", error.message)
- console.log("stacktrace :")
- console.log(error.stack)
- }
- describe(".less", function(){
- it("should get error if var missing in less", function(done){
- poly.render("less/novar.less", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should get errors if syntax not correct", function(done){
- poly.render("less/invalid.less", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- describe(".ejs", function(){
- it("should get error if var missing var", function(done){
- poly.render("ejs/novar.ejs", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should get errors if syntax not correct", function(done){
- poly.render("ejs/invalid.ejs", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- describe(".jade", function(){
- it("should get errors obj from jade", function(done){
- poly.render("jade/novar.jade", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should error with invalid file", function(done){
- poly.render("jade/invalid.jade", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should get template error even with valid layout", function(done){
- poly.render("jade/novar.jade", { layout: "jade/_layout" }, function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- error.stack.should.not.include('layout')
- done()
- })
- })
- it("should get layout error even with invalid layout", function(done){
- poly.render("jade/valid.jade", { layout: "jade/_invalid_layout" }, function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno', 2)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- error.stack.should.include('layout')
- done()
- })
- })
- it("should get correct partial error", function(done){
- poly.render("jade/nested_one.jade", { layout: "jade/_layout" }, function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- error.stack.should.include('three')
- done()
- })
- })
- })
- describe(".styl", function(){
- it("should send proper error object when missing variable.", function(done){
- poly.render("styl/novar.styl", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should error with invalid file", function(done){
- poly.render("styl/invalid.styl", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source', "Stylus")
- error.should.have.property('dest', "CSS")
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- describe(".coffee", function(){
- it("should error with invalid file", function(done){
- poly.render("coffee/invalid.coffee", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source', "CoffeeScript")
- error.should.have.property('dest', "JavaScript")
- error.should.have.property('lineno', 3)
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- describe(".scss", function(){
- it("should get error if var missing in scss", function(done){
- poly.render("scss/novar.scss", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should get errors if syntax not correct", function(done){
- poly.render("scss/invalid.scss", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- describe(".sass", function(){
- it("should get error if var missing in sass", function(done){
- poly.render("sass/novar.sass", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- it("should get errors if syntax not correct", function(done){
- poly.render("sass/invalid.sass", function(error, body){
- should.not.exist(body)
- should.exist(error)
- error.should.have.property('source')
- error.should.have.property('dest')
- error.should.have.property('lineno')
- error.should.have.property('filename')
- error.should.have.property('message')
- error.should.have.property('stack')
- done()
- })
- })
- })
- })
|