aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/src/base-component.js2
-rw-r--r--js/tests/unit/base-component.spec.js14
2 files changed, 15 insertions, 1 deletions
diff --git a/js/src/base-component.js b/js/src/base-component.js
index 62aa4adf1..ea0ad6c24 100644
--- a/js/src/base-component.js
+++ b/js/src/base-component.js
@@ -48,7 +48,7 @@ class BaseComponent {
/** Static */
static getInstance(element) {
- return Data.get(element, this.DATA_KEY)
+ return Data.get(getElement(element), this.DATA_KEY)
}
static getOrCreateInstance(element, config = {}) {
diff --git a/js/tests/unit/base-component.spec.js b/js/tests/unit/base-component.spec.js
index 1000f2841..b8ec83f12 100644
--- a/js/tests/unit/base-component.spec.js
+++ b/js/tests/unit/base-component.spec.js
@@ -104,6 +104,20 @@ describe('Base Component', () => {
expect(DummyClass.getInstance(element)).toBeInstanceOf(DummyClass)
})
+ it('should accept element, either passed as a CSS selector, jQuery element, or DOM element', () => {
+ createInstance()
+
+ expect(DummyClass.getInstance('#foo')).toEqual(instance)
+ expect(DummyClass.getInstance(element)).toEqual(instance)
+
+ const fakejQueryObject = {
+ 0: element,
+ jquery: 'foo'
+ }
+
+ expect(DummyClass.getInstance(fakejQueryObject)).toEqual(instance)
+ })
+
it('should return null when there is no instance', () => {
fixtureEl.innerHTML = '<div></div>'