Consider resolution when applying rules
This commit is contained in:
@@ -33,22 +33,121 @@ describe('ol.style.Rule', function() {
|
||||
|
||||
it('returns true for a rule without filter', function() {
|
||||
rule = new ol.style.Rule({});
|
||||
expect(rule.applies(feature)).to.be(true);
|
||||
expect(rule.applies(feature, 1)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false when the rule does not apply', function() {
|
||||
it('returns false when the filter evaluates to false', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(false)
|
||||
});
|
||||
expect(rule.applies(feature)).to.be(false);
|
||||
expect(rule.applies(feature, 1)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true when the rule applies', function() {
|
||||
it('returns true when the filter evaluates to true', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(true)
|
||||
});
|
||||
expect(rule.applies(feature)).to.be(true);
|
||||
expect(rule.applies(feature, 1)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false when the resolution is less than min', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10
|
||||
});
|
||||
expect(rule.applies(feature, 9)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true when the resolution is greater than min', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10
|
||||
});
|
||||
expect(rule.applies(feature, 11)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns true when the resolution is equal to min', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10
|
||||
});
|
||||
expect(rule.applies(feature, 10)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false if filter evaluates to false (with min res)', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(false),
|
||||
minResolution: 10
|
||||
});
|
||||
expect(rule.applies(feature, 11)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true if filter evaluates to true (with min res)', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(true),
|
||||
minResolution: 10
|
||||
});
|
||||
expect(rule.applies(feature, 11)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false when the resolution is greater than max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 101)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true when the resolution is less than max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 99)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false when the resolution is equal to max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 100)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns false if filter evaluates to false (with max res)', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(false),
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 99)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true if filter evaluates to true (with max res)', function() {
|
||||
rule = new ol.style.Rule({
|
||||
filter: new ol.expr.Literal(true),
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 99)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns true if resolution is between min and max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10,
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 55)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false if resolution is greater than min and max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10,
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 1000)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns false if resolution is less than min and max', function() {
|
||||
rule = new ol.style.Rule({
|
||||
minResolution: 10,
|
||||
maxResolution: 100
|
||||
});
|
||||
expect(rule.applies(feature, 5)).to.be(false);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user