]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(runtime-core): set appContext.provides to Object.create(null) (#781)
authordjy0 <krivergo3@gmail.com>
Wed, 26 Feb 2020 15:20:10 +0000 (23:20 +0800)
committerGitHub <noreply@github.com>
Wed, 26 Feb 2020 15:20:10 +0000 (10:20 -0500)
packages/runtime-core/__tests__/apiCreateApp.spec.ts
packages/runtime-core/src/apiCreateApp.ts

index 0442cf706269e7bd8b4258ec2471edb11566781b..c80f005ae7773e736ec5cca7ca619dd5ee6f4308 100644 (file)
@@ -79,6 +79,9 @@ describe('api: createApp', () => {
       setup() {
         const foo = inject('foo')
         const bar = inject('bar')
+        try {
+          inject('__proto__')
+        } catch (e) {}
         return () => `${foo},${bar}`
       }
     }
@@ -90,6 +93,7 @@ describe('api: createApp', () => {
     const root = nodeOps.createElement('div')
     app.mount(root)
     expect(serializeInner(root)).toBe(`3,2`)
+    expect('[Vue warn]: injection "__proto__" not found.').toHaveBeenWarned()
   })
 
   test('component', () => {
index f8189f25e909ee5e82d036a1614c7fdac369f814..5e6acb9cd0a6e440ed96c92c98f89ba4afaa0cc8 100644 (file)
@@ -82,7 +82,7 @@ export function createAppContext(): AppContext {
     mixins: [],
     components: {},
     directives: {},
-    provides: {}
+    provides: Object.create(null)
   }
 }