Blame view

frontend/web/js/validation/test/aria.js 2.18 KB
18b850c7   Administrator   Importers CRUD
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
  module("aria");
  
  test("Invalid field adds aria-invalid=true", function() {
  	var ariaInvalidFirstName = $("#ariaInvalidFirstName"),
  		form = $("#ariaInvalid");
  
  	form.validate({
  		rules: {
  			ariaInvalidFirstName: "required"
  		}
  	});
  	ariaInvalidFirstName.val("");
  	ariaInvalidFirstName.valid();
  	equal(ariaInvalidFirstName.attr("aria-invalid"), "true");
  });
  
  test("Valid field adds aria-invalid=false", function() {
  	var ariaInvalidFirstName = $("#ariaInvalidFirstName"),
  		form = $("#ariaInvalid");
  
  	form.validate({
  		rules: {
  			ariaInvalidFirstName: "required"
  		}
  	});
  	ariaInvalidFirstName.val("not empty");
  	ariaInvalidFirstName.valid();
  	equal(ariaInvalidFirstName.attr("aria-invalid"), "false");
  	equal($("#ariaInvalid [aria-invalid=false]").length, 1);
  });
  
  test("resetForm(): removes all aria-invalid attributes", function() {
  	var ariaInvalidFirstName = $("#ariaInvalidFirstName"),
  		form = $("#ariaInvalid"),
  		validator = form.validate({
  			rules: {
  				ariaInvalidFirstName: "required"
  			}
  		});
  
  	ariaInvalidFirstName.val("not empty");
  	ariaInvalidFirstName.valid();
  	validator.resetForm();
  	equal($("#ariaInvalid [aria-invalid]").length, 0, "resetForm() should remove any aria-invalid attributes");
  });
  
  test("Static required field adds aria-required", function() {
  	var ariaRequiredStatic = $("#ariaRequiredStatic"),
  		form = $("#ariaRequired");
  
  	form.validate();
  	equal(ariaRequiredStatic.attr("aria-required"), "true");
  });
  
  test("Data required field adds aria-required", function() {
  	var ariaRequiredData = $("#ariaRequiredData"),
  		form = $("#ariaRequired");
  
  	form.validate();
  	equal(ariaRequiredData.attr("aria-required"), "true");
  });
  
  test("Class required field adds aria-required", function() {
  	var ariaRequiredClass = $("#ariaRequiredClass"),
  		form = $("#ariaRequired");
  
  	form.validate();
  	equal(ariaRequiredClass.attr("aria-required"), "true");
  });
  
  test("Dynamically required field adds aria-required after valid()", function() {
  	var ariaRequiredDynamic = $("#ariaRequiredDynamic"),
  		form = $("#ariaRequired");
  
  	form.resetForm();
  	form.validate({
  		rules: {
  			ariaRequiredDynamic: "required"
  		}
  	});
  	ariaRequiredDynamic.valid();
  	equal(ariaRequiredDynamic.attr("aria-required"), "true");
  });