From 0d294c10759b8783737b6f11ff50ef9244512084 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Tue, 18 Dec 2012 18:25:13 -0800 Subject: [PATCH] add standalone mss rendering tests for desired empty style dropping behavior - refs #219 --- test/rendering-mss.test.js | 64 +++++++++++++++++++ .../should-discard-empty-style-and-attach.mss | 4 ++ .../should-discard-empty-style-and-attach.xml | 0 .../should-discard-empty-style.mss | 2 + .../should-discard-empty-style.xml | 0 test/rendering-mss/style-level-prop-only.mss | 3 + test/rendering-mss/style-level-prop-only.xml | 2 + test/rendering-mss/style-level-prop-only2.mss | 3 + test/rendering-mss/style-level-prop-only2.xml | 2 + test/rendering-mss/style-level-prop-only3.mss | 3 + test/rendering-mss/style-level-prop-only3.xml | 2 + 11 files changed, 85 insertions(+) create mode 100644 test/rendering-mss.test.js create mode 100644 test/rendering-mss/should-discard-empty-style-and-attach.mss create mode 100644 test/rendering-mss/should-discard-empty-style-and-attach.xml create mode 100644 test/rendering-mss/should-discard-empty-style.mss create mode 100644 test/rendering-mss/should-discard-empty-style.xml create mode 100644 test/rendering-mss/style-level-prop-only.mss create mode 100644 test/rendering-mss/style-level-prop-only.xml create mode 100644 test/rendering-mss/style-level-prop-only2.mss create mode 100644 test/rendering-mss/style-level-prop-only2.xml create mode 100644 test/rendering-mss/style-level-prop-only3.mss create mode 100644 test/rendering-mss/style-level-prop-only3.xml diff --git a/test/rendering-mss.test.js b/test/rendering-mss.test.js new file mode 100644 index 0000000..afb1f62 --- /dev/null +++ b/test/rendering-mss.test.js @@ -0,0 +1,64 @@ +var path = require('path'), + assert = require('assert'), + fs = require('fs'); + +var existsSync = require('fs').existsSync || require('path').existsSync; +var carto = require('../lib/carto'); +var tree = require('../lib/carto/tree'); +var helper = require('./support/helper'); + +describe('Rendering mss', function() { +helper.files('rendering-mss', 'mss', function(file) { + it('should render mss ' + path.basename(file) + ' correctly', function(done) { + var completed = false; + var renderResult; + var mss = helper.mss(file); + new carto.Renderer({ + paths: [ path.dirname(file) ], + data_dir: path.join(__dirname, '../data'), + local_data_dir: path.join(__dirname, 'rendering'), + filename: file + }).renderMSS(mss, function (err, output) { + if (err) { + if (Array.isArray(err)){ + err.forEach(carto.writeError); + done(); + } else { + throw err; + done(); + } + } else { + var expected = file.replace(path.extname(file),'')+'.xml'; + if (!existsSync(expected)) { + fs.writeFileSync(expected,output); + } + var expected_data = fs.readFileSync(expected).toString(); + assert.equal(output,expected_data); + done(); + /* + helper.compareToXMLFile(result, output, function(err) { + completed = true; + if (err) { + console.warn( + helper.stylize("Failure", 'red') + ': ' + + helper.stylize(file, 'underline') + + ' differs from expected result.'); + helper.showDifferences(err); + throw ''; + done(); + } else { done(); } + }); + */ + } + }); + + // beforeExit(function() { + // if (!completed && renderResult) { + // console.warn(helper.stylize('renderer produced:', 'bold')); + // console.warn(renderResult); + // } + // assert.ok(completed, 'Rendering finished.'); + // }); + }); +}); +}); \ No newline at end of file diff --git a/test/rendering-mss/should-discard-empty-style-and-attach.mss b/test/rendering-mss/should-discard-empty-style-and-attach.mss new file mode 100644 index 0000000..2966458 --- /dev/null +++ b/test/rendering-mss/should-discard-empty-style-and-attach.mss @@ -0,0 +1,4 @@ +#landcover { + ::foo { + } +} \ No newline at end of file diff --git a/test/rendering-mss/should-discard-empty-style-and-attach.xml b/test/rendering-mss/should-discard-empty-style-and-attach.xml new file mode 100644 index 0000000..e69de29 diff --git a/test/rendering-mss/should-discard-empty-style.mss b/test/rendering-mss/should-discard-empty-style.mss new file mode 100644 index 0000000..10c9a63 --- /dev/null +++ b/test/rendering-mss/should-discard-empty-style.mss @@ -0,0 +1,2 @@ +#landcover { +} \ No newline at end of file diff --git a/test/rendering-mss/should-discard-empty-style.xml b/test/rendering-mss/should-discard-empty-style.xml new file mode 100644 index 0000000..e69de29 diff --git a/test/rendering-mss/style-level-prop-only.mss b/test/rendering-mss/style-level-prop-only.mss new file mode 100644 index 0000000..d849912 --- /dev/null +++ b/test/rendering-mss/style-level-prop-only.mss @@ -0,0 +1,3 @@ +#landcover { + opacity:.5; +} \ No newline at end of file diff --git a/test/rendering-mss/style-level-prop-only.xml b/test/rendering-mss/style-level-prop-only.xml new file mode 100644 index 0000000..01386fc --- /dev/null +++ b/test/rendering-mss/style-level-prop-only.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/test/rendering-mss/style-level-prop-only2.mss b/test/rendering-mss/style-level-prop-only2.mss new file mode 100644 index 0000000..d7b7e49 --- /dev/null +++ b/test/rendering-mss/style-level-prop-only2.mss @@ -0,0 +1,3 @@ +#landcover { + comp-op:color-burn; +} \ No newline at end of file diff --git a/test/rendering-mss/style-level-prop-only2.xml b/test/rendering-mss/style-level-prop-only2.xml new file mode 100644 index 0000000..1e6abb3 --- /dev/null +++ b/test/rendering-mss/style-level-prop-only2.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/test/rendering-mss/style-level-prop-only3.mss b/test/rendering-mss/style-level-prop-only3.mss new file mode 100644 index 0000000..d003eb2 --- /dev/null +++ b/test/rendering-mss/style-level-prop-only3.mss @@ -0,0 +1,3 @@ +#landcover { + image-filters:invert(); +} \ No newline at end of file diff --git a/test/rendering-mss/style-level-prop-only3.xml b/test/rendering-mss/style-level-prop-only3.xml new file mode 100644 index 0000000..43e4bf0 --- /dev/null +++ b/test/rendering-mss/style-level-prop-only3.xml @@ -0,0 +1,2 @@ + \ No newline at end of file