Skip to content
Snippets Groups Projects
Select Git revision
  • 19bf21aa91e721a86b2aab4ca32f6904e1e85344
  • main default protected
  • renovate/lock-file-maintenance
  • demo protected
  • person-select-custom
  • dbp-translation-component
  • icon-set-mapping
  • port-i18next-parser
  • remove-sentry
  • favorites-and-recent-files
  • revert-6c632dc6
  • lit2
  • advertisement
  • wc-part
  • automagic
  • publish
  • wip-cleanup
  • demo-file-handling
18 results

unit.js

Blame
  • Christoph Reiter's avatar
    Reiter, Christoph authored
    Use tdd in all cases to be more consisstend.
    Also since last year we can use chai with rollup directly, so
    do that everywhere instead of relying on karma-chai injecting
    it in to the global scope.
    356f78b4
    History
    unit.js 1.52 KiB
    import {assert, expect} from 'chai';
    
    import '../src/dbp-language-select.js';
    import '../src/demo.js';
    
    suite('dbp-language-select basics', () => {
      let node;
      let events = [];
    
      function handler(e) {
        events.push(e);
      }
    
      setup(async () => {
        events.length = 0;
        window.addEventListener('dbp-language-changed', handler);
        node = document.createElement('dbp-language-select');
        document.body.appendChild(node);
        await node.updateComplete;
      });
    
      teardown(() => {
        node.remove();
        window.removeEventListener('dbp-language-changed', handler);
      });
    
      test('should render', () => {
        assert.isNotNull(node.shadowRoot);
      });
    
      test('change language events', () => {
        node.lang = 'en';
        expect(node.next).to.equal('de');
        expect(events.length).to.equal(1);
        node.lang = 'de';
        expect(node.next).to.equal('en');
        expect(events.length).to.equal(2);
      });
    
      test('change next', () => {
        expect(events.length).to.equal(0);
        node.lang = 'en';
        expect(node.next).to.equal('de');
        expect(node.lang).to.equal('en');
        node.next = 'en';
        expect(node.next).to.equal('en');
        expect(node.lang).to.equal('de');
        expect(events.length).to.equal(2);
      });
    });
    
    suite('dbp-language-select demo', () => {
      let node;
    
      setup(async () => {
        node = document.createElement('dbp-language-select-demo');
        document.body.appendChild(node);
        await node.updateComplete;
      });
    
      teardown(() => {
        node.remove();
      });
    
      test('should render', () => {
        assert.isNotNull(node.shadowRoot);
      });
    });