File: column%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 (84 lines) | stat: -rw-r--r-- 2,803 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
// todo tests
// - Confirm it exists and is a function
// - Getter:
//   - Confirm it will return a set search value (from API)
//   - Confirm it will return a set search value (from `searchCols`)
// - Setter:
//   - Will set a search string (and apply with draw())
//   - Is not regex by default
//   - Is smart search by default
//   - Is case insensitive by default
//   - Can set a regex search  (need help with this)
//   - Can disable smart search
//   - Can enable case sensitively

//Need to find out how to check defaults.
describe( "columns- column().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.column().search).toBe('function');
		});

		//Getter
		dt.html( 'basic' );
		it("Will return a set search value (API)", function () {
			var table = $('#example').DataTable();
			table.column(0).search('Airi').draw();
			expect(table.column(0).search()).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
				]
			});
			expect(table.column(0).search()).toBe('Airi');
		});

		//Setter
		dt.html( 'basic' );
		it("Will set a search string.", function () {
			var table = $('#example').DataTable();
			table.column(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.column(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.column(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.column(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.column(0).search("angelica",false,true,false).draw();
			expect($('#example tbody tr:eq(0) td:eq(0)').html() === "No matching records found").toBe(true);
		});
	});

});