diff --git a/src/core/instance/render.js b/src/core/instance/render.js
index 438fa2afb..cea8e51bd 100644
--- a/src/core/instance/render.js
+++ b/src/core/instance/render.js
@@ -49,6 +49,7 @@ export function initRender (vm: Component) {
// $attrs & $listeners are exposed for easier HOC creation.
// they need to be reactive so that HOCs using them are always updated
const parentData = parentVnode && parentVnode.data
+ /* istanbul ignore else */
if (process.env.NODE_ENV !== 'production') {
defineReactive(vm, '$attrs', parentData && parentData.attrs, () => {
!isUpdatingChildComponent && warn(`$attrs is readonly.`, vm)
diff --git a/src/platforms/web/runtime/components/transition-group.js b/src/platforms/web/runtime/components/transition-group.js
index ffb623308..b0133d71b 100644
--- a/src/platforms/web/runtime/components/transition-group.js
+++ b/src/platforms/web/runtime/components/transition-group.js
@@ -127,6 +127,7 @@ export default {
if (!hasTransition) {
return false
}
+ /* istanbul ignore if */
if (this._hasMove) {
return this._hasMove
}
diff --git a/test/unit/features/directives/on.spec.js b/test/unit/features/directives/on.spec.js
index 683b0aea8..fff8a11d6 100644
--- a/test/unit/features/directives/on.spec.js
+++ b/test/unit/features/directives/on.spec.js
@@ -695,4 +695,18 @@ describe('Directive v-on', () => {
expect(mouseup.calls.count()).toBe(1)
expect(mousedown.calls.count()).toBe(1)
})
+
+ it('warn object syntax with modifier', () => {
+ new Vue({
+ template: ``
+ }).$mount()
+ expect(`v-on without argument does not support modifiers`).toHaveBeenWarned()
+ })
+
+ it('warn object syntax with non-object value', () => {
+ new Vue({
+ template: ``
+ }).$mount()
+ expect(`v-on without argument expects an Object value`).toHaveBeenWarned()
+ })
})