$
This commit is contained in:
74
node_modules/@riotjs/hot-reload/test/index.js
generated
vendored
Normal file
74
node_modules/@riotjs/hot-reload/test/index.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
import {__, component} from 'riot'
|
||||
import {expect} from 'chai'
|
||||
import hotReload from '../'
|
||||
import jsDOMGlobal from 'jsdom-global'
|
||||
|
||||
describe('core', () => {
|
||||
before(() => {
|
||||
jsDOMGlobal()
|
||||
})
|
||||
|
||||
it('riot.reload keeps the tags state', (done) => {
|
||||
const api = {
|
||||
name: 'timer',
|
||||
exports: {
|
||||
state: {
|
||||
count: 0
|
||||
},
|
||||
onBeforeMount() {
|
||||
this.interval = setInterval(() => {
|
||||
this.state.count ++
|
||||
}, 100)
|
||||
},
|
||||
onUnmounted() {
|
||||
clearInterval(this.interval)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const div = document.createElement('div')
|
||||
document.body.appendChild(div)
|
||||
|
||||
component(api)(div)
|
||||
|
||||
setTimeout(function() {
|
||||
const el = hotReload(api)[0]
|
||||
|
||||
expect(el.state.count).to.be.equal(2)
|
||||
el.unmount()
|
||||
done()
|
||||
}, 210)
|
||||
})
|
||||
|
||||
it('riot.reload will reload the css properly', () => {
|
||||
const api = {
|
||||
name: 'css-demo',
|
||||
css: ':host { color: rgb(255, 255, 255); }'
|
||||
}
|
||||
|
||||
const div = document.createElement('div')
|
||||
document.body.appendChild(div)
|
||||
|
||||
component(api)(div)
|
||||
|
||||
expect(__.cssManager.CSS_BY_NAME.get('css-demo')).to.match(/rgb\(255, 255, 255\)/)
|
||||
|
||||
hotReload({
|
||||
name: 'css-demo',
|
||||
css: ':host { color: rgb(0, 0, 0); }'
|
||||
})
|
||||
|
||||
expect(__.cssManager.CSS_BY_NAME.get('css-demo')).to.match(/rgb\(0, 0, 0\)/)
|
||||
})
|
||||
|
||||
it('components not compatible with riot will be ignored', () => {
|
||||
const div = document.createElement('div')
|
||||
document.body.appendChild(div)
|
||||
|
||||
div.setAttribute('is', 'not-riot')
|
||||
|
||||
expect(() => hotReload({
|
||||
name: 'not-riot'
|
||||
})).to.not.throw()
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user