File: columns%28%29.search%28%29.js

package info (click to toggle)
datatables.js 1.10.13%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 6,232 kB
  • ctags: 1,329
  • sloc: xml: 10,249; php: 4,387; sh: 492; makefile: 21
file content (92 lines) | stat: -rw-r--r-- 3,133 bytes parent folder | download | duplicates (2)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// todo tests
// - Confirm it exists and is a function
// - Returns an API instance
// - Getter:
//   - Confirm it will contain the search values (when set by API)
//   - Confirm it will contain the search values (when set by searchCols)
//   - Confirm it will contain the search values (mixed)
// - Setter:
//   - Will apply the same search sting to all selected columns (select 0, 1, 2 and all columns)
//   - Is not regex by default
//   - Is smart search by default
//   - Is case insensitive by default
//   - Can set a regex search
//   - Can disable smart search
//   - Can enable case sensitively


describe( "columns- columns().search()", function() {
	dt.libs( {
		js:  [ 'jquery', 'datatables' ],
		css: [ 'datatables' ]
	} );

	describe("Check the defaults", function () {
		dt.html( 'basic' );
		it("Exists and is a function", function () {
			var table = $('#example').DataTable();
			expect(typeof table.columns().search).toBe('function');
		});
		dt.html( 'basic' );
		it("Returns an API instance", function () {
			var table = $('#example').DataTable();
			expect(table.columns().search() instanceof $.fn.dataTable.Api).toBe(true);
		});
		//Getter
		dt.html( 'basic' );
		it("Will return a set search value (API)", function () {
			var table = $('#example').DataTable();
			table.columns(0).search('Airi').draw();
			var result = table.columns().search();
			expect(result[0]).toBe('Airi');
		});
		dt.html( 'basic' );
		it("Will return a set search value (searchCols)", function () {
			var table = $('#example').DataTable({
				"searchCols": [
					{ "search": "Airi" },
					null,
					null,
					null,
					null,
					null
				]
			});
			var result = table.columns().search();
			expect(result[0]).toBe('Airi');
		});

		//Setter
		dt.html( 'basic' );
		it("Will set a search string.", function () {
			var table = $('#example').DataTable();
			table.columns(0).search('Angelica');
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "Airi Satou").toBe(true);
		});
		dt.html( 'basic' );
		it("Will set a search string- applied only on draw()", function () {
			var table = $('#example').DataTable();
			var test = table.columns(0).search('Angelica').draw();
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "Angelica Ramos").toBe(true);
		});
		dt.html( 'basic' );
		it("Can set a regex search", function () {
			var table = $('#example').DataTable();
			var test = table.columns(0).search("Angelica",true).draw();
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "Angelica Ramos").toBe(true);
		});
		dt.html( 'basic' );
		it("Can disable smart search", function () {
			var table = $('#example').DataTable();
			var test = table.columns(0).search("Angelica",false,false).draw();
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "Angelica Ramos").toBe(true);
		});
		dt.html( 'basic' );
		it("Can disable case sensitivity", function () {
			var table = $('#example').DataTable();
			var test = table.columns(0).search("angelica",false,true,false).draw();
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "No matching records found").toBe(true);
		});
	});

});