diff --git a/src/__tests__/components/CompWithDirective.vue b/src/__tests__/components/CompWithDirective.vue
new file mode 100644
index 00000000..417f193f
--- /dev/null
+++ b/src/__tests__/components/CompWithDirective.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/src/__tests__/components/directives/v-value.js b/src/__tests__/components/directives/v-value.js
new file mode 100644
index 00000000..509638dd
--- /dev/null
+++ b/src/__tests__/components/directives/v-value.js
@@ -0,0 +1,3 @@
+export function value(el, binding) {
+ el.value = binding.value
+}
diff --git a/src/__tests__/use-global-directive.js b/src/__tests__/use-global-directive.js
new file mode 100644
index 00000000..55108c88
--- /dev/null
+++ b/src/__tests__/use-global-directive.js
@@ -0,0 +1,18 @@
+import '@testing-library/jest-dom/extend-expect'
+import {render, wait} from '@testing-library/vue'
+import {value as valueDirective} from './components/directives/v-value'
+import CompWithDirective from './components/CompWithDirective.vue'
+
+test('element should have the same value as the directive', async () => {
+ const value = 'test'
+ const {container, updateProps} = render(
+ CompWithDirective,
+ {props: {value}},
+ vue => vue.directive('value', valueDirective),
+ )
+ await wait()
+ expect(container.firstChild).toHaveValue(value)
+ const anotherValue = 'another'
+ await updateProps({value: anotherValue})
+ expect(container.firstChild).toHaveValue(anotherValue)
+})