| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | 
							- chai = require 'chai'
 
- PrettyError = require '../src/PrettyError'
 
- defaultStyle = require '../src/defaultStyle'
 
- chai.should()
 
- isFormatted = (exc) ->
 
-   exc.stack.indexOf('  \u001b[0m\u001b[97m\u001b[41m') is 0
 
- error = (what) ->
 
-   if typeof what is 'string'
 
-     return error -> throw Error what
 
-   else if what instanceof Function
 
-     try
 
-       do what
 
-     catch e
 
-       return e
 
-   throw Error "bad argument for error"
 
- describe "PrettyError", ->
 
-   describe "constructor()", ->
 
-     it "should work", ->
 
-       new PrettyError
 
-   describe "getObject", ->
 
-     it "should return a string", ->
 
-       p = new PrettyError
 
-       p.getObject(error "hello").should.be.an 'object'
 
-   describe "style", ->
 
-     it "should, by default, return the contents in `default-style`", ->
 
-       p = new PrettyError
 
-       p.style.should.eql defaultStyle()
 
-     it "should return different contents after appending some styles", ->
 
-       p = new PrettyError
 
-       p.appendStyle 'some selector': 'display': 'block'
 
-       p.style.should.not.eql defaultStyle()
 
-   describe "render()", ->
 
-     it "should work", ->
 
-       p = new PrettyError
 
-       p.skipNodeFiles()
 
-       p.appendStyle 'pretty-error': marginLeft: 4
 
-       e = error -> "a".should.equal "b"
 
-       console.log p.render e, no
 
-       e2 = error -> Array.split(Object)
 
-       console.log p.render e2, no
 
-       e3 = "Plain error message"
 
-       console.log p.render e3, no
 
-       e4 =
 
-         message: "Custom error message"
 
-         kind: "Custom Error"
 
-       console.log p.render e4, no
 
-       e5 =
 
-         message: "Error with custom stack"
 
-         stack: ['line one', 'line two']
 
-         wrapper: 'UnhandledRejection'
 
-       console.log p.render e5, no
 
-       e6 = error -> PrettyError.someNonExistingFuncion()
 
-       console.log p.render e6, no
 
-     it.skip "should render without colors if pe._useColors is false", ->
 
-       p = new PrettyError
 
-       p.withoutColors()
 
-       p.skipNodeFiles()
 
-       p.appendStyle 'pretty-error': marginLeft: 4
 
-       e = error -> "a".should.equal "b"
 
-       console.log p.render e, no
 
-   describe "start()", ->
 
-     prepareStackTrace = null
 
-     beforeEach ->
 
-       {prepareStackTrace} = Error
 
-       Error.prepareStackTrace = null
 
-     afterEach ->
 
-       Error.prepareStackTrace = prepareStackTrace
 
-     it "throws unformatted error when not started", ->
 
-       try
 
-         throw new Error "foo bar"
 
-       catch exc
 
-       isFormatted(exc).should.be.eql false
 
-     it "throws formatted the error", ->
 
-       PrettyError.start()
 
-       try
 
-         throw new Error "foo bar"
 
-       catch exc
 
-       isFormatted(exc).should.be.eql true
 
-       exc.stack.split(/\n/g).length.should.be.above 2
 
-       PrettyError.stop()
 
 
  |