first commit

This commit is contained in:
2025-09-16 01:40:08 +03:00
commit d9969e1394
252 changed files with 41184 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
'use strict';
require('jsdom-global')();
const chai = require('chai');
const dom = require('../mock/dom');
const mixitup = require('../../dist/mixitup.js');
chai.use(require('chai-shallow-deep-equal'));
chai.use(require('chai-as-promised'));
describe('mixitup.Mixer', () => {
describe('#toggleOn()', () => {
const container = dom.getContainer();
const mixer = mixitup(container);
it('should activate an initial toggle', () => {
const matching = Array.prototype.slice.call(container.querySelectorAll('.category-a'));
return mixer.toggleOn('.category-a')
.then(state => {
chai.assert.equal(state.totalShow, matching.length);
chai.assert.deepEqual(state.show, matching);
chai.assert.deepEqual(state.matching, matching);
});
});
it('should activate a further toggle', () => {
const matching = Array.prototype.slice.call(container.querySelectorAll('.category-a, .category-c'));
return mixer.toggleOn('.category-c')
.then(state => {
chai.assert.equal(state.totalShow, matching.length);
chai.assert.deepEqual(state.show, matching);
chai.assert.deepEqual(state.matching, matching);
});
});
it('should activate a non-existant toggle with no effect', () => {
const matching = Array.prototype.slice.call(container.querySelectorAll('.category-a, .category-c'));
return mixer.toggleOn('.category-z')
.then(state => {
chai.assert.equal(state.totalShow, matching.length);
chai.assert.deepEqual(state.show, matching);
chai.assert.deepEqual(state.matching, matching);
});
});
});
describe('#toggleOff()', () => {
const container = dom.getContainer();
const mixer = mixitup(container, {
load: {
filter: '.category-a, .category-b, .category-c'
}
});
it('should deactivate a toggle', () => {
const matching = Array.prototype.slice.call(container.querySelectorAll('.category-a, .category-b'));
return mixer.toggleOff('.category-c')
.then(state => {
chai.assert.equal(state.totalShow, matching.length);
chai.assert.deepEqual(state.show, matching);
chai.assert.deepEqual(state.matching, matching);
});
});
it('should deactivate a non existent toggle with no effect', () => {
const matching = Array.prototype.slice.call(container.querySelectorAll('.category-a, .category-b'));
return mixer.toggleOff('.category-z')
.then(state => {
chai.assert.equal(state.totalShow, matching.length);
chai.assert.deepEqual(state.show, matching);
chai.assert.deepEqual(state.matching, matching);
});
});
});
});