7de7a8ea28
Closes #3469 Implements #3458
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
// jasmine matcher for expecting an element to have a css class
|
|
// https://github.com/angular/angular.js/blob/master/test/matchers.js
|
|
beforeEach(function() {
|
|
jasmine.addMatchers({
|
|
toHaveClass: function(util, customEqualityTesters) {
|
|
return {
|
|
compare: function(actual, expected) {
|
|
var result = {
|
|
pass: actual.hasClass(expected)
|
|
};
|
|
|
|
if (result.pass) {
|
|
result.message = 'Expected "' + actual + '" not to have the "' + expected + '" class.';
|
|
} else {
|
|
result.message = 'Expected "' + actual + '" to have the "' + expected + '" class.';
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
},
|
|
toBeHidden: function(util, customEqualityTesters) {
|
|
return {
|
|
compare: function(actual) {
|
|
var result = {
|
|
pass: actual.hasClass('ng-hide') || actual.css('display') === 'none'
|
|
};
|
|
|
|
if (result.pass) {
|
|
result.message = 'Expected "' + actual + '" not to be hidden';
|
|
} else {
|
|
result.message = 'Expected "' + actual + '" to be hidden';
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
},
|
|
toHaveFocus: function(util, customEqualityTesters) {
|
|
return {
|
|
compare: function(actual) {
|
|
var result = {
|
|
pass: document.activeElement === actual[0]
|
|
};
|
|
|
|
if (result.pass) {
|
|
result.message = 'Expected "' + actual + '" not to have focus';
|
|
} else {
|
|
result.message = 'Expected "' + actual + '" to have focus';
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|