* [html5] fix vue-render tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/52aed200 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/52aed200 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/52aed200 Branch: refs/heads/0.16-dev Commit: 52aed20005c438a40dbb97c670d27858fa1e3d90 Parents: 51ceff1 Author: MrRaindrop <tekk...@gmail.com> Authored: Tue Sep 26 10:30:40 2017 +0800 Committer: MrRaindrop <tekk...@gmail.com> Committed: Tue Sep 26 10:30:40 2017 +0800 ---------------------------------------------------------------------- build/karma.vue.conf.js | 1 + html5/render/vue/utils/component.js | 7 +++---- html5/test/render/vue/components/switch.js | 5 +---- html5/test/render/vue/components/text.js | 4 ++-- html5/test/render/vue/components/web.js | 4 ++-- html5/test/render/vue/helper/index.js | 11 +++++++++++ html5/test/render/vue/utils/component.js | 5 ----- 7 files changed, 20 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/build/karma.vue.conf.js ---------------------------------------------------------------------- diff --git a/build/karma.vue.conf.js b/build/karma.vue.conf.js index 693c241..1bb24d3 100644 --- a/build/karma.vue.conf.js +++ b/build/karma.vue.conf.js @@ -72,6 +72,7 @@ module.exports = function (config) { '../html5/test/render/vue/utils/*.js', '../html5/test/render/vue/core/*.js', '../html5/test/render/vue/!(utils|core)/*.js' + // '../html5/test/render/vue/components/switch.js', ], exclude: [ '../html5/test/render/vue/core/node.js', http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/render/vue/utils/component.js ---------------------------------------------------------------------- diff --git a/html5/render/vue/utils/component.js b/html5/render/vue/utils/component.js index f1e9ee0..7e96585 100644 --- a/html5/render/vue/utils/component.js +++ b/html5/render/vue/utils/component.js @@ -152,7 +152,7 @@ function checkHandlers (handlers) { */ export function watchAppear (context, fireNow) { const el = context && context.$el - if (!el) { return } + if (!el || el.nodeType !== 1) { return } const appearOffset = getAppearOffset(el) const handlers = getEventHandlers(context) @@ -163,7 +163,7 @@ export function watchAppear (context, fireNow) { } let isWindow = false - let container = window + let container = document.body const scroller = getParentScroller(context) if (scroller && scroller.$el) { container = scroller.$el @@ -208,9 +208,8 @@ export function watchAppear (context, fireNow) { for (let i = 0; i < len; i++) { const vm = watchAppearList[i] const el = vm.$el - const ct = isWindow ? document.body : container const appearOffset = getAppearOffset(el) - const visibleData = isElementVisible(el, ct, dir, appearOffset) + const visibleData = isElementVisible(el, container, dir, appearOffset) detectAppear(vm, visibleData, dir) } }, 25, true) http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/switch.js ---------------------------------------------------------------------- diff --git a/html5/test/render/vue/components/switch.js b/html5/test/render/vue/components/switch.js index 89e3734..123bb8e 100644 --- a/html5/test/render/vue/components/switch.js +++ b/html5/test/render/vue/components/switch.js @@ -28,9 +28,7 @@ init('<switch> component', (Vue, helper) => { it('simple <switch> component', () => { const vm = compile(`<switch></switch>`) - - // console.log(vm.$el) - expect(vm.$el.tagName).to.be.equal('SPAN') + expect(vm.$el.tagName.toLowerCase()).to.be.equal('span') expect(utils.toArray(vm.$el.classList)).to.include('weex-switch') expect(vm.$el.innerHTML).to.be.equal('<small class="weex-switch-inner"></small>') }) @@ -39,7 +37,6 @@ init('<switch> component', (Vue, helper) => { const vmA = compile(`<switch disabled="true"></switch>`) const vmB = compile(`<switch disabled></switch>`) const vmC = compile(`<switch disabled="disabled"></switch>`) - expect(vmA.$el.className).to.match(/weex\-switch\-disabled/) expect(vmB.$el.className).to.match(/weex\-switch\-disabled/) expect(vmC.$el.className).to.match(/weex\-switch\-disabled/) http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/text.js ---------------------------------------------------------------------- diff --git a/html5/test/render/vue/components/text.js b/html5/test/render/vue/components/text.js index 105cb49..e45432b 100644 --- a/html5/test/render/vue/components/text.js +++ b/html5/test/render/vue/components/text.js @@ -30,14 +30,14 @@ init('<text> component', (Vue, helper) => { it('create simple text component', () => { const vm = compile(`<text>abc</text>`) - expect(vm.$el.tagName).to.be.equal('P') + expect(vm.$el.tagName.toLowerCase()).to.be.equal('p') expect(vm.$el.innerHTML).to.be.equal('abc') }) it('empty text component', () => { const vm = compile(`<text></text>`) - expect(vm.$el.tagName).to.be.equal('P') + expect(vm.$el.tagName.toLowerCase()).to.be.equal('p') expect(vm.$el.innerHTML).to.be.equal('') }) http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/web.js ---------------------------------------------------------------------- diff --git a/html5/test/render/vue/components/web.js b/html5/test/render/vue/components/web.js index 6895b35..6ee488f 100644 --- a/html5/test/render/vue/components/web.js +++ b/html5/test/render/vue/components/web.js @@ -29,14 +29,14 @@ init('<web> component', (Vue, helper) => { const vm = compile(`<web></web>`) // console.log(vm.$el) - expect(vm.$el.tagName).to.be.equal('IFRAME') + expect(vm.$el.tagName.toLowerCase()).to.be.equal('iframe') expect(utils.toArray(vm.$el.classList)).to.include.members(['weex-web', 'weex-el']) }) it('use src attribute', () => { const vm = compile(`<web src="https://x.cn"></web>`) - expect(vm.$el.tagName).to.be.equal('IFRAME') + expect(vm.$el.tagName.toLowerCase()).to.be.equal('iframe') expect(vm.$el.getAttribute('src')).to.be.equal('https://x.cn') expect(utils.toArray(vm.$el.classList)).to.include.members(['weex-web', 'weex-el']) }) http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/helper/index.js ---------------------------------------------------------------------- diff --git a/html5/test/render/vue/helper/index.js b/html5/test/render/vue/helper/index.js index 883b70c..641e34e 100644 --- a/html5/test/render/vue/helper/index.js +++ b/html5/test/render/vue/helper/index.js @@ -39,6 +39,17 @@ export function init (title, fn) { Vue.config.isReservedTag = tag => htmlRegex.test(tag) Vue.config.parsePlatformTagName = tag => tag.replace(htmlRegex, '') + function isWeexTag (tag) { + return !!weex._components[tag] + } + const oldGetTagNamespace = Vue.config.getTagNamespace + Vue.config.getTagNamespace = function (tag) { + if (isWeexTag(tag)) { + return + } + return oldGetTagNamespace(tag) + } + Vue.mixin(base) Vue.mixin(style) http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/utils/component.js ---------------------------------------------------------------------- diff --git a/html5/test/render/vue/utils/component.js b/html5/test/render/vue/utils/component.js index fc70be2..a921800 100644 --- a/html5/test/render/vue/utils/component.js +++ b/html5/test/render/vue/utils/component.js @@ -47,11 +47,6 @@ init('utils component', (Vue, helper) => { expect(getParentScroller).to.be.a('function') expect(getParentScroller(vm)).to.be.a('undefined') }) - it('isComponentVisible', () => { - const { isComponentVisible } = components - expect(isComponentVisible).to.be.a('function') - expect(isComponentVisible(vm)).to.be.true - }) }) describe('watchAppear', () => { it('should work when mounted and updated.', function (done) {