Skip to content

Commit

Permalink
Remove chai dev dependency (#15)
Browse files Browse the repository at this point in the history
There is no plan to convert this module to ESM

Rel: chaijs/chai#1561
Rel: #13
  • Loading branch information
frodeaa committed Feb 10, 2024
1 parent 6a3804a commit 11356c9
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 129 deletions.
88 changes: 0 additions & 88 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"xml2js": "^0.6.2"
},
"devDependencies": {
"chai": "^4.3.10",
"mocha": "^10.3.0",
"prettier": "^3.1.1"
}
Expand Down
14 changes: 7 additions & 7 deletions test/streamParse.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const streamParse = require('../src/streamParse')
const through2 = require('through2')
const fs = require('fs')
const path = require('path')
const chai = require('chai')
const assert = require('node:assert')

describe('streamParse', () => {
it('should read sample.xml the same way as parse', async () => {
Expand All @@ -29,10 +29,10 @@ describe('streamParse', () => {
})

const output = await p
chai.expect(output.length).to.equal(1)
assert.strictEqual(output.length, 1)
const data = output[0]

chai.expect(data).to.deep.equal(expectedData)
assert.deepEqual(data, expectedData)
})

it('should read sample2.xml the same way as parse', async () => {
Expand All @@ -57,10 +57,10 @@ describe('streamParse', () => {
})

const output = await p
chai.expect(output.length).to.equal(1)
assert.strictEqual(output.length, 1)
const data = output[0]

chai.expect(data).to.deep.equal(expectedData)
assert.deepEqual(data, expectedData)
})

it('should throw error if bad xml', async () => {
Expand All @@ -81,7 +81,7 @@ describe('streamParse', () => {
let error = null
await p.catch((err) => (error = err))

chai.expect(error).to.not.equal(null)
chai.expect(error.message).to.contain('Invalid attribute')
assert.strictEqual(error !== null, true)
assert.strictEqual(error.message.includes('Invalid attribute'), true)
})
})
59 changes: 31 additions & 28 deletions test/xmlReader.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const XmlReader = require('../src/XmlReader')
const through2 = require('through2')
const fs = require('fs')
const path = require('path')
const chai = require('chai')
const assert = require('node:assert')

async function parseWithStream(data, splitOn) {
return new Promise((resolve, reject) => {
Expand Down Expand Up @@ -53,7 +53,7 @@ describe('XmlReader', () => {

const readerAgain = (await parseWithStream(xmlStr))[0]

chai.expect(reader.data).to.deep.equal(readerAgain.data)
assert.deepEqual(reader.data, readerAgain.data)
})

it('should read+write+read sample file using xml2js and give the same result', async () => {
Expand All @@ -68,62 +68,65 @@ describe('XmlReader', () => {

const readerAgain = await XmlReader.parse(xmlStr)

chai.expect(reader.data).to.deep.equal(readerAgain.data)
assert.deepEqual(reader.data, readerAgain.data)
})

it('should read some basic things', async () => {
const reader = await XmlReader.parse(testData1)

chai.expect(reader.attributeAt('test', 'hello')).to.equal('world')
assert.deepEqual(reader.attributeAt('test', 'hello'), 'world')

chai.expect(reader.valAt('list.item.nestedlist.nesteditem')).to.equal(
'1'
)
assert.deepEqual(reader.valAt('list.item.nestedlist.nesteditem'), '1')

chai.expect(reader.has('list')).to.equal(true)
assert.strictEqual(reader.has('list'), true)

chai.expect(reader.has('blarg')).to.equal(false)
assert.strictEqual(reader.has('blarg'), false)

chai.expect(
assert.deepEqual(
reader
.asArray('list.item.nestedlist.nesteditem')
.map((r) => r.val())
).to.deep.equal(['1', '2'])
.map((r) => r.val()),
['1', '2']
)

chai.expect(
assert.deepEqual(
reader
.asArray('list.item.nestedlist.nesteditem')
.map((r) => r.attribute('attr'))
).to.deep.equal(['attr1', 'attr2'])
.map((r) => r.attribute('attr')),
['attr1', 'attr2']
)

chai.expect(
assert.deepEqual(
reader
.asArrayAll('list.item.nestedlist.nesteditem')
.map((r) => r.val())
).to.deep.equal(['1', '2', '3', '4'])
.map((r) => r.val()),
['1', '2', '3', '4']
)
})

it('should parse some basic stuff by stream', async () => {
const readers = await parseWithStream(testData1, 'list.item')

chai.expect(readers[0].valAt('test')).to.equal('yo')
assert.strictEqual(readers[0].valAt('test'), 'yo')

chai.expect(readers[0].valAt('list.otheritem')).to.equal('yoyo')
assert.strictEqual(readers[0].valAt('list.otheritem'), 'yoyo')

chai.expect(
assert.deepEqual(
readers[0]
.asArrayAll('list.item.nestedlist.nesteditem')
.map((r) => r.val())
).to.deep.equal(['1', '2'])
.map((r) => r.val()),
['1', '2']
)

chai.expect(readers[1].valAt('test')).to.equal('yo')
assert.strictEqual(readers[1].valAt('test'), 'yo')

chai.expect(readers[1].valAt('list.otheritem')).to.equal('yoyo')
assert.strictEqual(readers[1].valAt('list.otheritem'), 'yoyo')

chai.expect(
assert.deepEqual(
readers[1]
.asArrayAll('list.item.nestedlist.nesteditem')
.map((r) => r.val())
).to.deep.equal(['3', '4'])
.map((r) => r.val()),
['3', '4']
)
})
})
12 changes: 7 additions & 5 deletions test/xmlWriter.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const XmlReader = require('../src/XmlReader')
const XmlWriter = require('../src/XmlWriter')
const chai = require('chai')
const assert = require('node:assert')

const testData1 = `
<document>
Expand Down Expand Up @@ -33,7 +33,7 @@ describe('XmlWriter', () => {

const finalReader = await XmlReader.parse(writer.toFragmentString())

chai.expect(finalReader.valAt('nestedlist.nesteditem')).to.equal('1')
assert.strictEqual(finalReader.valAt('nestedlist.nesteditem'), '1')
})

it('should set a raw value', async () => {
Expand All @@ -45,15 +45,16 @@ describe('XmlWriter', () => {

const reader = await XmlReader.parse(writer.toString())

chai.expect(reader.valAt('test')).to.equal('hello!')
assert.strictEqual(reader.valAt('test'), 'hello!')
})

it('should inject several simple values', async () => {
const writer = XmlWriter.create('', '', '', 'Document')

writer.adds('node', ['a', 'b'])

chai.expect(writer.toString()).to.deep.equal(
assert.deepEqual(
writer.toString(),
'<?xml version="1.0" encoding="utf-8"?><Document><node>a</node><node>b</node></Document>'
)
})
Expand All @@ -66,7 +67,8 @@ describe('XmlWriter', () => {
prop: 'yo',
})

chai.expect(writer.toString()).to.deep.equal(
assert.deepEqual(
writer.toString(),
'<?xml version="1.0" encoding="utf-8"?><Document><node prop="yo"><id>a</id></node><node prop="yo"><id>b</id></node></Document>'
)
})
Expand Down

0 comments on commit 11356c9

Please sign in to comment.