]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
BaseComponent: add a couple more tests (#35410)
authorGeoSot <geo.sotis@gmail.com>
Mon, 29 Nov 2021 12:27:03 +0000 (14:27 +0200)
committerGitHub <noreply@github.com>
Mon, 29 Nov 2021 12:27:03 +0000 (14:27 +0200)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
js/tests/unit/base-component.spec.js

index b8ec83f122b7ad51819de697bfe49bb18090a6b6..460a1b9a0eb1b10fdbf4f800b92e45a7543405eb 100644 (file)
@@ -48,6 +48,13 @@ describe('Base Component', () => {
     })
 
     describe('NAME', () => {
+      it('should throw an Error if it is not initialized', () => {
+        expect(() => {
+          // eslint-disable-next-line no-unused-expressions
+          BaseComponent.NAME
+        }).toThrowError(Error)
+      })
+
       it('should return plugin NAME', () => {
         expect(DummyClass.NAME).toEqual(name)
       })
@@ -74,6 +81,17 @@ describe('Base Component', () => {
         expect(elInstance._element).toEqual(el)
         expect(selectorInstance._element).toEqual(fixtureEl.querySelector('#bar'))
       })
+
+      it('should not initialize and add element record to Data (caching), if argument `element` is not an HTML element', () => {
+        fixtureEl.innerHTML = ''
+
+        const el = fixtureEl.querySelector('#foo')
+        const elInstance = new DummyClass(el)
+        const selectorInstance = new DummyClass('#bar')
+
+        expect(elInstance._element).not.toBeDefined()
+        expect(selectorInstance._element).not.toBeDefined()
+      })
     })
     describe('dispose', () => {
       it('should dispose an component', () => {