From 1376b77582fb215982bcceeb771533dfeadd3004 Mon Sep 17 00:00:00 2001 From: Bass Jobsen Date: Wed, 11 Mar 2015 10:24:37 +0100 Subject: [PATCH] all tests run both in browser and CLI now --- Gruntfile.js | 12 ++++----- .../less/filemanagerPlugin/colors.test | 1 - test/browser/runner-VisitorPlugin-options.js | 26 ------------------- .../runner-filemanagerPlugin-options.js | 25 ------------------ .../runner-preProcessorPlugin-options.js | 19 -------------- .../css/filemanagerPlugin/filemanager.css | 0 .../css/preProcessorPlugin/preProcessor.css | 0 .../css/visitorPlugin/visitor.css | 0 test/index.js | 3 +++ test/less/filemanagerPlugin/colors.test | 1 + .../less/filemanagerPlugin/filemanager.less | 2 +- .../less/preProcessorPlugin/preProcessor.less | 0 .../less/visitorPlugin/visitor.less | 0 test/plugins/filemanager/index.js | 19 ++++++++++++++ test/plugins/preprocess/index.js | 19 ++++++++++++++ test/plugins/visitor/index.js | 26 +++++++++++++++++++ 16 files changed, 75 insertions(+), 78 deletions(-) delete mode 100644 test/browser/less/filemanagerPlugin/colors.test rename test/{browser => }/css/filemanagerPlugin/filemanager.css (100%) rename test/{browser => }/css/preProcessorPlugin/preProcessor.css (100%) rename test/{browser => }/css/visitorPlugin/visitor.css (100%) create mode 100644 test/less/filemanagerPlugin/colors.test rename test/{browser => }/less/filemanagerPlugin/filemanager.less (62%) rename test/{browser => }/less/preProcessorPlugin/preProcessor.less (100%) rename test/{browser => }/less/visitorPlugin/visitor.less (100%) create mode 100644 test/plugins/filemanager/index.js create mode 100644 test/plugins/preprocess/index.js create mode 100644 test/plugins/visitor/index.js diff --git a/Gruntfile.js b/Gruntfile.js index c3ed82a6..b9019221 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -261,25 +261,25 @@ module.exports = function (grunt) { } }, preProcessorPlugin: { - src: ['test/browser/less/preProcessorPlugin/*.less'], + src: ['test/less/preProcessorPlugin/*.less'], options: { - helpers: 'test/browser/runner-preProcessorPlugin-options.js', + helpers: ['test/plugins/preprocess/index.js','test/browser/runner-preProcessorPlugin-options.js'], specs: 'test/browser/runner-preProcessorPlugin.js', outfile: 'tmp/browser/test-runner-pre-processor-plugin.html' } }, visitorPlugin: { - src: ['test/browser/less/visitorPlugin/*.less'], + src: ['test/less/visitorPlugin/*.less'], options: { - helpers: 'test/browser/runner-VisitorPlugin-options.js', + helpers: ['test/plugins/visitor/index.js','test/browser/runner-VisitorPlugin-options.js'], specs: 'test/browser/runner-VisitorPlugin.js', outfile: 'tmp/browser/test-runner-visitor-plugin.html' } }, filemanagerPlugin: { - src: ['test/browser/less/filemanagerPlugin/*.less'], + src: ['test/less/filemanagerPlugin/*.less'], options: { - helpers: 'test/browser/runner-filemanagerPlugin-options.js', + helpers: ['test/plugins/filemanager/index.js','test/browser/runner-filemanagerPlugin-options.js'], specs: 'test/browser/runner-filemanagerPlugin.js', outfile: 'tmp/browser/test-runner-filemanager-plugin.html' } diff --git a/test/browser/less/filemanagerPlugin/colors.test b/test/browser/less/filemanagerPlugin/colors.test deleted file mode 100644 index b605e2f0..00000000 --- a/test/browser/less/filemanagerPlugin/colors.test +++ /dev/null @@ -1 +0,0 @@ -//@color: red; diff --git a/test/browser/runner-VisitorPlugin-options.js b/test/browser/runner-VisitorPlugin-options.js index 4fa04c60..86d0ae15 100644 --- a/test/browser/runner-VisitorPlugin-options.js +++ b/test/browser/runner-VisitorPlugin-options.js @@ -1,29 +1,3 @@ -RemoveProperty = function(less) { - this._visitor = new less.visitors.Visitor(this); -}; - -RemoveProperty.prototype = { - isReplacing: true, - run: function (root) { - return this._visitor.visit(root); - }, - visitRule: function (ruleNode, visitArgs) { - if (ruleNode.name != '-some-aribitrary-property') - { - return ruleNode; - } - else { - return []; - } - } -}; - -var VisitorPlugin = { - install: function(less, pluginManager) { - pluginManager.addVisitor( new RemoveProperty(less)); - } -}; - var less = {logLevel: 4, errorReporting: "console", plugins: [VisitorPlugin]}; diff --git a/test/browser/runner-filemanagerPlugin-options.js b/test/browser/runner-filemanagerPlugin-options.js index 3b9fc52d..588fbb04 100644 --- a/test/browser/runner-filemanagerPlugin-options.js +++ b/test/browser/runner-filemanagerPlugin-options.js @@ -1,28 +1,3 @@ -var plugin = function(less) { - - var FileManager = less.FileManager; - - function TestFileManager() { - }; - - TestFileManager = new FileManager(); - - TestFileManager.loadFile = function (filename, currentDirectory, options, environment, callback) { - if (filename.match(/.*\.test$/)) { - return less.environment.fileManagers[0].loadFile("colors.test", currentDirectory, options, environment, callback); - } - return less.environment.fileManagers[0].loadFile(filename, currentDirectory, options, environment, callback); - }; - - return TestFileManager; -}; - -var AddFilePlugin = { - install: function(less, pluginManager) { - less.environment.addFileManager(new plugin(less)); - } -}; - var less = {logLevel: 4, errorReporting: "console", plugins: [AddFilePlugin] diff --git a/test/browser/runner-preProcessorPlugin-options.js b/test/browser/runner-preProcessorPlugin-options.js index 6d0fd433..bbff5201 100644 --- a/test/browser/runner-preProcessorPlugin-options.js +++ b/test/browser/runner-preProcessorPlugin-options.js @@ -1,22 +1,3 @@ -var preProcessor = function() {}; - -preProcessor.prototype = { - process : function (src, extra) { - var injected = '@color: red;\n'; - var ignored = extra.imports.contentsIgnoredChars; - var fileInfo = extra.fileInfo; - ignored[fileInfo.filename] = ignored[fileInfo.filename] || 0; - ignored[fileInfo.filename] += injected.length; - return injected + src; - } -}; - -var preProcessorPlugin = { - install: function(less, pluginManager) { - pluginManager.addPreProcessor( new preProcessor()); - } -}; - var less = {logLevel: 4, errorReporting: "console", plugins: [preProcessorPlugin]}; diff --git a/test/browser/css/filemanagerPlugin/filemanager.css b/test/css/filemanagerPlugin/filemanager.css similarity index 100% rename from test/browser/css/filemanagerPlugin/filemanager.css rename to test/css/filemanagerPlugin/filemanager.css diff --git a/test/browser/css/preProcessorPlugin/preProcessor.css b/test/css/preProcessorPlugin/preProcessor.css similarity index 100% rename from test/browser/css/preProcessorPlugin/preProcessor.css rename to test/css/preProcessorPlugin/preProcessor.css diff --git a/test/browser/css/visitorPlugin/visitor.css b/test/css/visitorPlugin/visitor.css similarity index 100% rename from test/browser/css/visitorPlugin/visitor.css rename to test/css/visitorPlugin/visitor.css diff --git a/test/index.js b/test/index.js index 8a6977dc..376c8dbe 100644 --- a/test/index.js +++ b/test/index.js @@ -48,6 +48,9 @@ lessTester.runTestSet({modifyVars: true}, "modifyVars/", lessTester.runTestSet({urlArgs: '424242'}, "url-args/"); lessTester.runTestSet({paths: ['test/data/', 'test/less/import/']}, "include-path/"); lessTester.runTestSet({plugin: 'test/plugins/postprocess/'}, "postProcessorPlugin/"); +lessTester.runTestSet({plugin: 'test/plugins/preprocess/'}, "preProcessorPlugin/"); +lessTester.runTestSet({plugin: 'test/plugins/visitor/'}, "visitorPlugin/"); +lessTester.runTestSet({plugin: 'test/plugins/filemanager/'}, "filemanagerPlugin/"); lessTester.testSyncronous({syncImport: true}, "import"); lessTester.testSyncronous({syncImport: true}, "css"); lessTester.testNoOptions(); diff --git a/test/less/filemanagerPlugin/colors.test b/test/less/filemanagerPlugin/colors.test new file mode 100644 index 00000000..3d86b9ff --- /dev/null +++ b/test/less/filemanagerPlugin/colors.test @@ -0,0 +1 @@ +@color: red; diff --git a/test/browser/less/filemanagerPlugin/filemanager.less b/test/less/filemanagerPlugin/filemanager.less similarity index 62% rename from test/browser/less/filemanagerPlugin/filemanager.less rename to test/less/filemanagerPlugin/filemanager.less index 75896dbd..1a35c67a 100644 --- a/test/browser/less/filemanagerPlugin/filemanager.less +++ b/test/less/filemanagerPlugin/filemanager.less @@ -1,4 +1,4 @@ @import "test.test"; .test { - color: red; + color: @color; } diff --git a/test/browser/less/preProcessorPlugin/preProcessor.less b/test/less/preProcessorPlugin/preProcessor.less similarity index 100% rename from test/browser/less/preProcessorPlugin/preProcessor.less rename to test/less/preProcessorPlugin/preProcessor.less diff --git a/test/browser/less/visitorPlugin/visitor.less b/test/less/visitorPlugin/visitor.less similarity index 100% rename from test/browser/less/visitorPlugin/visitor.less rename to test/less/visitorPlugin/visitor.less diff --git a/test/plugins/filemanager/index.js b/test/plugins/filemanager/index.js new file mode 100644 index 00000000..1cc905d6 --- /dev/null +++ b/test/plugins/filemanager/index.js @@ -0,0 +1,19 @@ +(function(exports) { + var plugin = function(less) { + var FileManager = less.FileManager, TestFileManager = new FileManager(); + function TestFileManager() { }; + TestFileManager.loadFile = function (filename, currentDirectory, options, environment, callback) { + if (filename.match(/.*\.test$/)) { + return less.environment.fileManagers[0].loadFile("colors.test", currentDirectory, options, environment, callback); + } + return less.environment.fileManagers[0].loadFile(filename, currentDirectory, options, environment, callback); + }; + + return TestFileManager; + }; + + exports.install = function(less, pluginManager) { + less.environment.addFileManager(new plugin(less)); + }; + +})(typeof exports === 'undefined' ? this['AddFilePlugin'] = {} : exports); diff --git a/test/plugins/preprocess/index.js b/test/plugins/preprocess/index.js new file mode 100644 index 00000000..868f2325 --- /dev/null +++ b/test/plugins/preprocess/index.js @@ -0,0 +1,19 @@ +(function(exports) { + var preProcessor = function() {}; + + preProcessor.prototype = { + process : function (src, extra) { + var injected = '@color: red;\n'; + var ignored = extra.imports.contentsIgnoredChars; + var fileInfo = extra.fileInfo; + ignored[fileInfo.filename] = ignored[fileInfo.filename] || 0; + ignored[fileInfo.filename] += injected.length; + return injected + src; + } + }; + + exports.install = function(less, pluginManager) { + pluginManager.addPreProcessor( new preProcessor() ); + }; + +})(typeof exports === 'undefined' ? this['preProcessorPlugin'] = {} : exports); diff --git a/test/plugins/visitor/index.js b/test/plugins/visitor/index.js new file mode 100644 index 00000000..6792c062 --- /dev/null +++ b/test/plugins/visitor/index.js @@ -0,0 +1,26 @@ +(function(exports) { + var RemoveProperty = function(less) { + this._visitor = new less.visitors.Visitor(this); + }; + + RemoveProperty.prototype = { + isReplacing: true, + run: function (root) { + return this._visitor.visit(root); + }, + visitRule: function (ruleNode, visitArgs) { + if (ruleNode.name != '-some-aribitrary-property') + { + return ruleNode; + } + else { + return []; + } + } + }; + + exports.install = function(less, pluginManager) { + pluginManager.addVisitor( new RemoveProperty(less)); + }; + +})(typeof exports === 'undefined' ? this['VisitorPlugin'] = {} : exports);