const scopeQuery = require('../../../examples/lib/scopeQuery'); describe('scopeQuery Method', function() { beforeAll(() => { const { JSDOM } = require('jsdom'); var { window } = new JSDOM(`
Child1
Child2
Child3
Child4
Child5
Child6
Child1Scope2
Child2Scope2
Child3Scope2
Child4Scope2
Child5Scope2
`); const { document } = window; global.window = window; global.document = document; const $ = global.jQuery = global.$ = require('jquery'); }); it('scope 1 querySelector', function() { const $scope1 = scopeQuery.scopeSelector(document.querySelector('#scope1')); const $scope1All = scopeQuery.scopeSelectorAll(document.querySelector('#scope1')); expect($scope1('.child').length).toBe(1); expect($scope1All('.child').length).toBe(6); expect($scope1('#child1').text()).toBe('Child1'); expect($scope1('#child2').text()).toBe('Child2'); expect($scope1All('#child1').text()).toBe('Child1'); expect($scope1All('#child2').text()).toBe('Child2'); expect($scope1().elem('.child').length).toBe(1); expect($scope1().elemAll('.child').length).toBe(6); expect($scope1All().elem('.child').length).toBe(1); expect($scope1All().elemAll('.child').length).toBe(6); }); it('scope 2 querySelector', function() { const $scope2 = scopeQuery.scopeSelector(document.querySelector('#scope2')); const $scope2All = scopeQuery.scopeSelectorAll(document.querySelector('#scope2')); expect($scope2('.child').length).toBe(1); expect($scope2All('.child').length).toBe(5); expect($scope2('#child1').text()).toBe('Child1Scope2'); expect($scope2('#child2').text()).toBe('Child2Scope2'); expect($scope2All('#child1').text()).toBe('Child1Scope2'); expect($scope2All('#child2').text()).toBe('Child2Scope2'); expect($scope2().elem('.child').length).toBe(1); expect($scope2().elemAll('.child').length).toBe(5); expect($scope2All().elem('.child').length).toBe(1); expect($scope2All().elemAll('.child').length).toBe(5); }); }); global.document = null; global.$ = null; DOM = null;