Files
jasmine/spec/html/HtmlExactSpecFilterSpec.js
2025-09-17 18:23:45 -07:00

64 lines
1.5 KiB
JavaScript

describe('HtmlExactSpecFilter', function() {
it('matches everything when no string is provided', function() {
const specFilter = new jasmineUnderTest.HtmlExactSpecFilter({
queryString: {
getParam(name) {
return '';
}
}
});
expect(specFilter.matches({})).toBeTrue();
});
it('matches a spec with the exact same path', function() {
const specFilter = new jasmineUnderTest.HtmlExactSpecFilter({
queryString: {
getParam(name) {
if (name === 'spec') {
return '["a","b","c"]';
}
}
}
});
expect(specFilter.matches(stubSpec(['a', 'b', 'c']))).toBeTrue();
});
it('matches a spec whose path has the filter path as a prefix', function() {
const specFilter = new jasmineUnderTest.HtmlExactSpecFilter({
queryString: {
getParam(name) {
if (name === 'spec') {
return '["a","b"]';
}
}
}
});
expect(specFilter.matches(stubSpec(['a', 'b', 'c']))).toBeTrue();
});
it('does not match a spec with a different path', function() {
const specFilter = new jasmineUnderTest.HtmlExactSpecFilter({
queryString: {
getParam(name) {
if (name === 'spec') {
return '["a","b","c"]';
}
}
}
});
expect(specFilter.matches(stubSpec(['a', 'd', 'c']))).toBeFalse();
});
function stubSpec(path) {
return {
getPath() {
return path;
}
};
}
});