UNPKG

asia-weex-vue-render4light

Version:

Web renderer for weex project written in Vue DSL.

227 lines (226 loc) 10.4 kB
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import Toast from '../../src/modules/modal/toast' import Alert from '../../src/modules/modal/alert' import Confirm from '../../src/modules/modal/confirm' import Prompt from '../../src/modules/modal/prompt' import Modal from '../../src/modules/modal/modal' import { nodeListToArray } from '../helper/utils' /** @test {webSocket module} */ // describe('modal module', function () { // after(function (done) { // done() // }) // describe('modal API', function () { // const modal = new Modal() // it('should have prototype', function () { // expect(modal).to.have.property('show') // expect(modal).to.have.property('destroy') // expect(modal).to.have.property('createWrap') // expect(modal).to.have.property('createNode') // expect(modal).to.have.property('clearNode') // expect(modal).to.have.property('createNodeContent') // expect(modal).to.have.property('bindEvents') // }) // it('wrap style should be weex-modal-wrap when show method is called', function () { // // Modal // // assert.strictEqual($modal[0], $el[0], 'collection contains element') // }) // }) // describe('toast API', function () { // const toast = Toast // const config = { // message: 'Test', // duration: 1 // } // it('should have method', function () { // expect(toast.push).to.be.a('function') // expect(toast.show).to.be.a('function') // }) // it('should toast mount on document when push method is called', function (done) { // const TOAST_WIN_CLASS_NAME = '.weex-toast' // let $Toast = null // toast.push(config.message, config.duration) // $Toast = document.querySelector(TOAST_WIN_CLASS_NAME) // expect($Toast.innerText, 'should contain Test message').to.be.equal(config.message) // expect(nodeListToArray($Toast.classList), 'should include hide class').to.include('hide') // setTimeout(function () { // expect(nodeListToArray($Toast.classList), 'should remove hide class').to.not.include('hide') // done() // }, config.duration * 1000) // }) // it('call show method while toast queue length < 1', function () { // const TOAST_WIN_CLASS_NAME = '.weex-toast' // let $Toast = null // toast.show() // $Toast = document.querySelector(TOAST_WIN_CLASS_NAME) // expect($Toast, 'element should be null when toast quene length < 1').to.be.null // }) // }) // describe('alert API', function () { // const config = { // message: 'Test', // callback: function () {} // } // const alert = new Alert(config) // it('extends Standard modal API', function () { // expect(alert).to.have.property('show') // expect(alert).to.have.property('destroy') // expect(alert).to.have.property('createWrap') // expect(alert).to.have.property('createNode') // expect(alert).to.have.property('clearNode') // expect(alert).to.have.property('createNodeContent') // expect(alert).to.have.property('bindEvents') // }) // it('should have prototype', function () { // expect(alert).to.have.property('createNodeContent') // expect(alert).to.have.property('bindEvents') // }) // it('would alert mount on document when instance is created', function () { // const ALERT_WEEX_CLASS_NAME = '.weex-alert' // const ALERT_WEEX_MSG_CLASS_NAME = '.content-msg' // const BUTTON_CLASS = '.alert-ok' // let $Alert = null // $Alert = document.querySelector(ALERT_WEEX_CLASS_NAME) // const messageShouldBe = $Alert.querySelector(ALERT_WEEX_MSG_CLASS_NAME).innerText // const button = $Alert.querySelector(BUTTON_CLASS) // expect(messageShouldBe, 'should contain Test message').to.be.equal(config.message) // const event = document.createEvent('HTMLEvents') // event.initEvent('click', false, true) // button.dispatchEvent(event) // $Alert = document.querySelector(ALERT_WEEX_CLASS_NAME) // expect($Alert, 'element would unmount while ok button is clicked').to.be.null // }) // }) // describe('confirm API', function () { // let callbackResult = '' // const config = { // message: 'Test', // okTitle: 'ok', // cancelTitle: 'cancel', // callback: function (ret) { // callbackResult = ret // } // } // let confirm = new Confirm(config) // it('extends Standard modal API', function () { // expect(confirm).to.have.property('show') // expect(confirm).to.have.property('destroy') // expect(confirm).to.have.property('createWrap') // expect(confirm).to.have.property('createNode') // expect(confirm).to.have.property('clearNode') // expect(confirm).to.have.property('createNodeContent') // expect(confirm).to.have.property('bindEvents') // }) // it('should have prototype', function () { // expect(confirm.createNodeContent).to.be.a('function') // expect(confirm.bindEvents).to.be.a('function') // }) // it('would confirm mount on document when instance is created', function () { // const CONFIRM_WEEX_CLASS_NAME = '.weex-confirm' // const CONFIRM_WEEX_MSG_CLASS_NAME = '.content-msg' // const OK_BUTTON_CLASS = '.btn-ok' // const CANCEL_BUTTON_CLASS = '.btn-cancel' // let $CONFIRM = null // $CONFIRM = document.querySelector(CONFIRM_WEEX_CLASS_NAME) // const messageShouldBe = $CONFIRM.querySelector(CONFIRM_WEEX_MSG_CLASS_NAME).innerText // let button = $CONFIRM.querySelector(OK_BUTTON_CLASS) // expect(messageShouldBe, 'should contain Test message').to.be.equal(config.message) // let event = document.createEvent('HTMLEvents') // event.initEvent('click', false, true) // button.dispatchEvent(event) // $CONFIRM = document.querySelector(CONFIRM_WEEX_CLASS_NAME) // expect($CONFIRM, 'element would unmount while ok button is clicked').to.be.null // expect(callbackResult, 'callback would return okTitle').to.be.equal(config.okTitle) // // reopen confirm for test cancel button // confirm = new Confirm(config) // $CONFIRM = document.querySelector(CONFIRM_WEEX_CLASS_NAME) // button = $CONFIRM.querySelector(CANCEL_BUTTON_CLASS) // event = document.createEvent('HTMLEvents') // event.initEvent('click', false, true) // button.dispatchEvent(event) // $CONFIRM = document.querySelector(CONFIRM_WEEX_CLASS_NAME) // expect($CONFIRM, 'element would unmount while ok button is clicked').to.be.null // expect(callbackResult, 'callback would return okTitle').to.be.equal(config.cancelTitle) // }) // }) // describe('prompt API', function () { // let callbackResult = '' // const config = { // message: 'Test', // okTitle: 'ok', // cancelTitle: 'cancel', // callback: function (ret) { // callbackResult = ret // } // } // const inputMessage = 'prompt message' // let prompt = new Prompt(config) // it('extends Standard modal API', function () { // expect(prompt).to.have.property('show') // expect(prompt).to.have.property('destroy') // expect(prompt).to.have.property('createWrap') // expect(prompt).to.have.property('createNode') // expect(prompt).to.have.property('clearNode') // expect(prompt).to.have.property('createNodeContent') // expect(prompt).to.have.property('bindEvents') // }) // it('should have prototype', function () { // expect(prompt.createNodeContent).to.be.a('function') // expect(prompt.bindEvents).to.be.a('function') // }) // it('would prompt mount on document when instance is created', function () { // const PROMPT_WEEX_CLASS_NAME = '.weex-prompt' // const PROMPT_WEEX_MSG_CLASS_NAME = '.content-msg' // const OK_BUTTON_CLASS = '.btn-ok' // const CANCEL_BUTTON_CLASS = '.btn-cancel' // let $Prompt // $Prompt = document.querySelector(PROMPT_WEEX_CLASS_NAME) // const messageShouldBe = $Prompt.querySelector(PROMPT_WEEX_MSG_CLASS_NAME).innerText // let button = $Prompt.querySelector(OK_BUTTON_CLASS) // expect(messageShouldBe, 'should contain Test message').to.be.equal(config.message) // let event = document.createEvent('HTMLEvents') // $Prompt.querySelector('input').value = inputMessage // event.initEvent('click', false, true) // button.dispatchEvent(event) // $Prompt = document.querySelector(PROMPT_WEEX_CLASS_NAME) // expect($Prompt, 'element would unmount while ok button is clicked').to.be.null // expect(callbackResult, 'callback would return {result:string,data:string}').to.deep.equal({ // result: config.okTitle, // data: inputMessage // }) // // reopen prompt for test cancel button // prompt = new Prompt(config) // $Prompt = document.querySelector(PROMPT_WEEX_CLASS_NAME) // button = $Prompt.querySelector(CANCEL_BUTTON_CLASS) // event = document.createEvent('HTMLEvents') // $Prompt.querySelector('input').value = inputMessage // event.initEvent('click', false, true) // button.dispatchEvent(event) // $Prompt = document.querySelector(PROMPT_WEEX_CLASS_NAME) // expect($Prompt, 'element would unmount while ok button is clicked').to.be.null // expect(callbackResult, 'callback would return {result:string,data:string}').to.deep.equal({ // result: config.cancelTitle, // data: inputMessage // }) // }) // }) // })