| [9af201e] | 1 | 'use strict'
|
|---|
| 2 |
|
|---|
| 3 | const assert = require('chai').assert
|
|---|
| 4 | const modulePath = '../../src/error'
|
|---|
| 5 |
|
|---|
| 6 | suite('error:', () => {
|
|---|
| 7 | let log
|
|---|
| 8 |
|
|---|
| 9 | setup(() => {
|
|---|
| 10 | log = {}
|
|---|
| 11 | })
|
|---|
| 12 |
|
|---|
| 13 | test('require does not throw', () => {
|
|---|
| 14 | assert.doesNotThrow(() => {
|
|---|
| 15 | require(modulePath)
|
|---|
| 16 | })
|
|---|
| 17 | })
|
|---|
| 18 |
|
|---|
| 19 | test('require returns object', () => {
|
|---|
| 20 | assert.isObject(require(modulePath))
|
|---|
| 21 | })
|
|---|
| 22 |
|
|---|
| 23 | suite('require:', () => {
|
|---|
| 24 | let error
|
|---|
| 25 |
|
|---|
| 26 | setup(() => {
|
|---|
| 27 | error = require(modulePath)
|
|---|
| 28 | })
|
|---|
| 29 |
|
|---|
| 30 | test('error has create method', () => {
|
|---|
| 31 | assert.isFunction(error.create)
|
|---|
| 32 | })
|
|---|
| 33 |
|
|---|
| 34 | test('error has no other methods', () => {
|
|---|
| 35 | assert.lengthOf(Object.keys(error), 1)
|
|---|
| 36 | })
|
|---|
| 37 |
|
|---|
| 38 | test('create expects four arguments', () => {
|
|---|
| 39 | assert.lengthOf(error.create, 4)
|
|---|
| 40 | })
|
|---|
| 41 |
|
|---|
| 42 | test('create does not throw', () => {
|
|---|
| 43 | assert.doesNotThrow(() => {
|
|---|
| 44 | error.create()
|
|---|
| 45 | })
|
|---|
| 46 | })
|
|---|
| 47 |
|
|---|
| 48 | test('create returns Error', () => {
|
|---|
| 49 | assert.instanceOf(error.create(), Error)
|
|---|
| 50 | })
|
|---|
| 51 |
|
|---|
| 52 | suite('create:', () => {
|
|---|
| 53 | let created
|
|---|
| 54 |
|
|---|
| 55 | setup(() => {
|
|---|
| 56 | created = error.create('foo', 'bar', 'baz', 'qux')
|
|---|
| 57 | })
|
|---|
| 58 |
|
|---|
| 59 | test('created has correct actual property', () => {
|
|---|
| 60 | assert.strictEqual(created.actual, 'foo')
|
|---|
| 61 | })
|
|---|
| 62 |
|
|---|
| 63 | test('created has correct expected property', () => {
|
|---|
| 64 | assert.strictEqual(created.expected, 'bar')
|
|---|
| 65 | })
|
|---|
| 66 |
|
|---|
| 67 | test('created has correct lineNumber property', () => {
|
|---|
| 68 | assert.strictEqual(created.lineNumber, 'baz')
|
|---|
| 69 | })
|
|---|
| 70 |
|
|---|
| 71 | test('created has correct columnNumber property', () => {
|
|---|
| 72 | assert.strictEqual(created.columnNumber, 'qux')
|
|---|
| 73 | })
|
|---|
| 74 |
|
|---|
| 75 | test('created has correct message property', () => {
|
|---|
| 76 | assert.strictEqual(created.message, 'JSON error: encountered `foo` at line baz, column qux where `bar` was expected.')
|
|---|
| 77 | })
|
|---|
| 78 | })
|
|---|
| 79 | })
|
|---|
| 80 | })
|
|---|