刮刮前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

81 lines
2.7 KiB

const {
updateAppJson,
updatePageJson,
updateUsingComponents,
getChangedJsonFileMap
} = require('../lib/cache')
describe('shared:cache', () => {
it('generate app.json', () => {
const name = 'app'
const appJson = {
debug: true
}
updateAppJson(name, appJson)
let appJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(appJsonStr).toBe(JSON.stringify(appJson, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
appJson.resizable = true
updateAppJson(name, appJson)
appJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(appJsonStr).toBe(JSON.stringify(appJson, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
const usingComponents = {
'my-component': '/components/component-tag-name'
}
updateUsingComponents('app', usingComponents)
appJsonStr = getChangedJsonFileMap().get(name + '.json')
appJson.usingComponents = usingComponents
expect(appJsonStr).toBe(JSON.stringify(appJson, null, 2))
})
it('generate page.json', () => {
const name = 'page/index/index'
const pageJson = {
navigationBarBackgroundColor: '#ffffff'
}
updatePageJson(name, pageJson)
let pageJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(pageJsonStr).toBe(JSON.stringify(pageJson, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
pageJson.navigationBarTextStyle = 'black'
updatePageJson(name, pageJson)
pageJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(pageJsonStr).toBe(JSON.stringify(pageJson, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
const usingComponents = {
'my-component1': '/components/component-tag-name1'
}
updateUsingComponents(name, usingComponents)
pageJsonStr = getChangedJsonFileMap().get(name + '.json')
pageJson.usingComponents = usingComponents
expect(pageJsonStr).toBe(JSON.stringify(pageJson, null, 2))
})
it('generate component.json', () => {
const name = 'components/component-tag-name'
let usingComponents = {
'my-component': '/components/component-tag-name'
}
updateUsingComponents(name, usingComponents, 'Component')
let componentJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(componentJsonStr).toBe(JSON.stringify({
usingComponents,
component: true
}, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
usingComponents = {}
updateUsingComponents(name, usingComponents, 'Component')
componentJsonStr = getChangedJsonFileMap().get(name + '.json')
expect(componentJsonStr).toBe(JSON.stringify({
usingComponents,
component: true
}, null, 2))
expect(0).toBe(getChangedJsonFileMap().size)
})
})