Skip to content

Commit 4ec04f0

Browse files
committed
feat: Add selector property to BaseWrapper interface
1 parent 46f884e commit 4ec04f0

File tree

6 files changed

+21
-1
lines changed

6 files changed

+21
-1
lines changed

Diff for: flow/wrapper.flow.js

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ declare interface BaseWrapper {
2828
name(): string | void;
2929
props(key?: string): { [name: string]: any } | any | void;
3030
text(): string | void;
31+
selector: Selector | void;
3132
setData(data: Object): void;
3233
setMethods(methods: Object): void;
3334
setValue(value: any): void;

Diff for: packages/test-utils/src/error-wrapper.js

+2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ const buildSelectorString = (selector: Selector) => {
1717
}
1818

1919
export default class ErrorWrapper implements BaseWrapper {
20+
selector: Selector
2021
selectorString: string
2122

2223
constructor(selector: Selector) {
24+
this.selector = selector
2325
this.selectorString = buildSelectorString(selector)
2426
}
2527

Diff for: packages/test-utils/src/wrapper-array.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { throwError } from 'shared/util'
77
export default class WrapperArray implements BaseWrapper {
88
+wrappers: Array<Wrapper | VueWrapper>
99
+length: number
10+
selector: Selector | void
1011

1112
constructor(wrappers: Array<Wrapper | VueWrapper>) {
1213
const length = wrappers.length

Diff for: packages/test-utils/src/wrapper.js

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export default class Wrapper implements BaseWrapper {
2424
+options: WrapperOptions
2525
isFunctionalComponent: boolean
2626
rootNode: VNode | Element
27+
selector: Selector | void
2728

2829
constructor(
2930
node: VNode | Element,

Diff for: packages/test-utils/types/index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ interface BaseWrapper {
6969

7070
trigger (eventName: string, options?: object): void
7171
destroy (): void
72+
selector: Selector | void
7273
}
7374

7475
export interface Wrapper<V extends Vue | null> extends BaseWrapper {

Diff for: packages/test-utils/types/test/wrapper.ts

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { mount, createWrapper } from '../'
1+
import { mount, createWrapper, Selector } from '../'
22
import { normalOptions, functionalOptions, ClassComponent } from './resources'
33
import Vue from 'vue'
44

@@ -44,19 +44,33 @@ wrapper.vm.$emit('event', 'arg')
4444

4545
let el: HTMLElement = wrapper.element
4646

47+
let selector: Selector | void
48+
4749
let found = wrapper.find('.foo')
50+
selector = found.selector
4851
found = wrapper.find(normalOptions)
52+
selector = found.selector
4953
found = wrapper.find(functionalOptions)
54+
selector = found.selector
5055
found = wrapper.find(ClassComponent)
56+
selector = found.selector
5157
found = wrapper.find({ ref: 'myButton' })
58+
selector = found.selector
5259
found = wrapper.find({ name: 'my-button' })
60+
selector = found.selector
5361

5462
let array = wrapper.findAll('.bar')
63+
selector = array.selector
5564
array = wrapper.findAll(normalOptions)
65+
selector = array.selector
5666
array = wrapper.findAll(functionalOptions)
67+
selector = array.selector
5768
array = wrapper.findAll(ClassComponent)
69+
selector = array.selector
5870
array = wrapper.findAll({ ref: 'myButton' })
71+
selector = array.selector
5972
array = wrapper.findAll({ name: 'my-button' })
73+
selector = array.selector
6074

6175
wrapper.setChecked()
6276
wrapper.setChecked(true)

0 commit comments

Comments
 (0)