mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 03:00:58 +08:00
feat(): initial vue support
This commit is contained in:

committed by
Mike Hartington

parent
a9b30646fe
commit
73cff0c61a
184
vue/test/api.spec.js
Normal file
184
vue/test/api.spec.js
Normal file
@ -0,0 +1,184 @@
|
||||
import Vue from 'vue'
|
||||
import API from '../src/api.js'
|
||||
|
||||
const api = new API()
|
||||
|
||||
beforeEach(() => {
|
||||
HTMLElement.prototype.componentOnReady = function() {
|
||||
const el = this
|
||||
el.create = function(props = {}) {
|
||||
return Object.assign(el, props)
|
||||
}
|
||||
el.dismiss = function() {
|
||||
return el
|
||||
}
|
||||
el.getTop = el.dismiss
|
||||
el.open = el.create
|
||||
el.close = el.dismiss
|
||||
el.toggle = el.dismiss
|
||||
el.enable = el.dismiss
|
||||
el.swipeEnable = el.dismiss
|
||||
el.isOpen = el.dismiss
|
||||
el.isEnabled = el.dismiss
|
||||
el.get = el.dismiss
|
||||
el.getOpen = el.dismiss
|
||||
el.getMenus = el.dismiss
|
||||
|
||||
return Promise.resolve(el)
|
||||
}
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
HTMLElement.prototype.componentOnReady = undefined
|
||||
})
|
||||
|
||||
describe('API', () => {
|
||||
it('Installs correctly', () => {
|
||||
Vue.use(API)
|
||||
|
||||
const app = new Vue()
|
||||
|
||||
expect(typeof app.$ionic).toBe('object')
|
||||
expect(API.install(Vue)).toBeFalsy()
|
||||
})
|
||||
|
||||
it('Creates action sheet controller', () => {
|
||||
expect.assertions(3)
|
||||
|
||||
api.actionSheetController
|
||||
.dismiss()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.actionSheetController
|
||||
.getTop()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
return api.actionSheetController.create().then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates alert controllers', () => {
|
||||
expect.assertions(3)
|
||||
|
||||
// Creates initial element
|
||||
api.alertController
|
||||
.create({ foo: 'bar' })
|
||||
.then(c => {
|
||||
return expect(c.foo).toBe('bar')
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
// Returns previous element with extra props
|
||||
return api.alertController.create({ bar: 'foo' }).then(c => {
|
||||
expect(c.foo).toBe('bar')
|
||||
return expect(c.bar).toBe('foo')
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates loading controllers', done => {
|
||||
return api.loadingController.create({ bar: 'foo' }).then(c => {
|
||||
expect(c.bar).toBe('foo')
|
||||
return done()
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates modal controllers', done => {
|
||||
return api.modalController.create({ bar: 'foo' }).then(c => {
|
||||
expect(c.bar).toBe('foo')
|
||||
return done()
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates popover controllers', done => {
|
||||
return api.popoverController.create({ bar: 'foo' }).then(c => {
|
||||
expect(c.bar).toBe('foo')
|
||||
return done()
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates toast controllers', done => {
|
||||
return api.toastController.create({ bar: 'foo' }).then(c => {
|
||||
expect(c.bar).toBe('foo')
|
||||
return done()
|
||||
})
|
||||
})
|
||||
|
||||
it('Creates menu controllers', done => {
|
||||
expect.assertions(10)
|
||||
|
||||
api.menuController
|
||||
.close()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.toggle()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.enable()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.swipeEnable()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.isOpen()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.isEnabled()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.get()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.getOpen()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
api.menuController
|
||||
.getMenus()
|
||||
.then(c => {
|
||||
return expect(c).toBeTruthy()
|
||||
})
|
||||
.catch(err => err)
|
||||
|
||||
return api.menuController.open({ bar: 'foo' }).then(c => {
|
||||
expect(c.bar).toBe('foo')
|
||||
return done()
|
||||
})
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user