carto/test/specificity.test.js

43 lines
1.3 KiB
JavaScript
Raw Normal View History

2011-01-21 06:54:51 +08:00
var path = require('path'),
assert = require('assert'),
fs = require('fs');
2011-01-21 06:54:51 +08:00
2011-05-27 02:07:50 +08:00
var carto = require('../lib/carto');
var tree = require('../lib/carto').tree;
2011-01-21 06:54:51 +08:00
var helper = require('./support/helper');
2011-01-24 22:59:27 +08:00
function cleanupItem(key, value) {
2011-02-03 03:01:40 +08:00
if (key === 'rules') return;
else if (key === 'ruleIndex') return;
2011-01-24 22:59:27 +08:00
else if (key === 'elements') return value.map(function(item) { return item.value; });
else if (key === 'filters') {
2011-02-03 03:01:40 +08:00
var arr = [];
2012-12-22 07:13:36 +08:00
for (var id in value.filters) arr.push(id + value.filters[id].val);
2011-02-03 03:01:40 +08:00
if (arr.length) return arr;
}
2011-02-03 03:01:40 +08:00
else if (key === 'attachment' && value === '__default__') return;
else if (key === 'zoom') {
2011-02-03 03:01:40 +08:00
if (value != tree.Zoom.all) return tree.Zoom.toString(value);
}
2011-01-24 22:59:27 +08:00
else return value;
}
2011-01-21 06:54:51 +08:00
describe('Specificity', function() {
helper.files('specificity', 'mss', function(file) {
it('should handle spec correctly in ' + file, function(done) {
helper.file(file, function(content) {
var tree = (new carto.Parser({
paths: [ path.dirname(file) ],
filename: file
})).parse(content);
2011-01-24 22:59:27 +08:00
var mss = tree.toList({});
mss = helper.makePlain(mss, cleanupItem);
helper.compareToFile(mss, file, helper.resultFile(file));
done();
2011-01-21 06:54:51 +08:00
});
});
});
});