File: destroy.js

package info (click to toggle)
datatables.js 1.11.5%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 22,848 kB
  • sloc: javascript: 65,075; xml: 10,712; php: 4,741; sh: 544; makefile: 18
file content (74 lines) | stat: -rw-r--r-- 1,851 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// test commit and again
describe('destroy option', function() {
	dt.libs({
		js: ['jquery', 'datatables'],
		css: ['datatables']
	});

	describe('Check the defaults', function() {
		dt.html('basic');
		it('Default is disabled', function() {
			expect($.fn.dataTable.defaults.bDestroy).toBe(false);
		});

		dt.html('basic');
		it('No error if table non-existent before', function() {
			let table = $('#example').DataTable({
				destroy: true
			});
			expect(table.columns().count()).toBe(6);
		});

		// Note this test will fail after Manuscript #519 is addressed
		dt.html('basic');
		it('Old table handle unavailable', function() {
			let table1 = $('#example').DataTable();
			let table2 = $('#example').DataTable({
				destroy: true
			});
			expect(table1.columns().count()).toBe(6);
			expect(table2.columns().count()).toBe(6);
		});

		dt.html('basic');
		it('Destroy recreates table with new configuration', function() {
			$('#example').DataTable({
				destroy: true
			});
			expect(
				$('#example')
					.DataTable()
					.page.info().pages
			).toBe(6);

			$('#example').DataTable({
				paging: false,
				destroy: true
			});
			expect(
				$('#example')
					.DataTable()
					.page.info().pages
			).toBe(1);
		});
	});

	describe('Functional tests', function() {
		dt.html('two_tables');
		it('Destroy when multiple tables only affects selected table', function() {
			$('#example_one').DataTable();
			$('#example_two').DataTable();

			expect($('#example_one_wrapper div.dataTables_filter').length).toBe(1);
			expect($('#example_two_wrapper div.dataTables_filter').length).toBe(1);

			$('#example_one').DataTable({
				filter: false,
				destroy: true
			});

			expect($('#example_one_wrapper div.dataTables_filter').length).toBe(0);
			expect($('#example_two_wrapper div.dataTables_filter').length).toBe(1);
		});
	});
});