
Note that the tests for Lumina are failing, but that's not related to the chai upgrade, rather it seems these tests fail because of issues in the design that we'll tackle later (it's a brand new design yet to be released).
54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
import { expect } from 'chai'
|
|
import { Design, Snippet, Point } from '../src/index.mjs'
|
|
|
|
describe('Snippet', () => {
|
|
it('Should create a snippet', () => {
|
|
let snip1 = new Snippet('test', new Point(12, 34))
|
|
expect(snip1.def).to.equal('test')
|
|
expect(snip1.anchor.x).to.equal(12)
|
|
expect(snip1.anchor.y).to.equal(34)
|
|
})
|
|
|
|
it('Should clone a snippet', () => {
|
|
let snip3 = new Snippet('boo', new Point(56, 78))
|
|
expect(snip3.clone().def).to.equal('boo')
|
|
expect(snip3.clone().anchor.x).to.equal(56)
|
|
expect(snip3.clone().anchor.y).to.equal(78)
|
|
})
|
|
|
|
it('Should set an attribute', () => {
|
|
let s = new Snippet('test', new Point(12, -34)).attr('class', 'test')
|
|
expect(s.attributes.get('class')).to.equal('test')
|
|
s.attr('class', 'more')
|
|
expect(s.attributes.get('class')).to.equal('test more')
|
|
s.attr('class', 'less', true)
|
|
expect(s.attributes.get('class')).to.equal('less')
|
|
})
|
|
|
|
it('Should scale a snippet', () => {
|
|
let s = new Snippet('test', new Point(12, -34)).scale(0.1234)
|
|
expect(s.attributes.get('data-scale')).to.equal('0.1234')
|
|
})
|
|
|
|
it('Should rotate a snippet', () => {
|
|
let s = new Snippet('test', new Point(12, -34)).rotate(123)
|
|
expect(s.attributes.get('data-rotate')).to.equal('123')
|
|
})
|
|
|
|
it('Should get a snippet via the snippets proxy', () => {
|
|
let result
|
|
const part = {
|
|
name: 'test',
|
|
draft: ({ snippets, part }) => {
|
|
snippets.test = ':)'
|
|
result = snippets.test
|
|
|
|
return part
|
|
},
|
|
}
|
|
const design = new Design({ parts: [part] })
|
|
const pattern = new design()
|
|
pattern.draft()
|
|
expect(result).to.equal(':)')
|
|
})
|
|
})
|