From 73e265d8fd050ae3daa67472b4465a5c49d68910 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 20 Apr 2019 15:18:33 +0300 Subject: Include to Wekan packages directory contents, so that meteor command would build all directly. This also simplifies build scripts. Thanks to xet7 ! --- packages/markdown/marked/test/browser/index.html | 5 ++ packages/markdown/marked/test/browser/index.js | 39 ++++++++++++++ packages/markdown/marked/test/browser/test.js | 66 ++++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 packages/markdown/marked/test/browser/index.html create mode 100644 packages/markdown/marked/test/browser/index.js create mode 100644 packages/markdown/marked/test/browser/test.js (limited to 'packages/markdown/marked/test/browser') diff --git a/packages/markdown/marked/test/browser/index.html b/packages/markdown/marked/test/browser/index.html new file mode 100644 index 00000000..fbde1293 --- /dev/null +++ b/packages/markdown/marked/test/browser/index.html @@ -0,0 +1,5 @@ + +marked tests +

testing...

+ + diff --git a/packages/markdown/marked/test/browser/index.js b/packages/markdown/marked/test/browser/index.js new file mode 100644 index 00000000..8208fa3f --- /dev/null +++ b/packages/markdown/marked/test/browser/index.js @@ -0,0 +1,39 @@ +var fs = require('fs'), + path = require('path'); + +var testMod = require('../'), + load = testMod.load; + +var express = require('express'), + app = express(); + +var files = load(); + +app.use(function(req, res, next) { + var setHeader = res.setHeader; + res.setHeader = function(name) { + switch (name) { + case 'Cache-Control': + case 'Last-Modified': + case 'ETag': + return; + } + return setHeader.apply(res, arguments); + }; + next(); +}); + +app.get('/test.js', function(req, res, next) { + var test = fs.readFileSync(path.join(__dirname, 'test.js'), 'utf8'); + var testScript = test.replace('__TESTS__', JSON.stringify(files)) + .replace('__MAIN__', testMod.runTests + '') + .replace('__LIBS__', testMod.testFile + ''); + + res.contentType('.js'); + res.send(testScript); +}); + +app.use(express.static(path.join(__dirname, '/../../lib'))); +app.use(express.static(__dirname)); + +app.listen(8080); diff --git a/packages/markdown/marked/test/browser/test.js b/packages/markdown/marked/test/browser/test.js new file mode 100644 index 00000000..59917dd4 --- /dev/null +++ b/packages/markdown/marked/test/browser/test.js @@ -0,0 +1,66 @@ + +;(function() { + var console = {}, + files = __TESTS__; // eslint-disable-line no-undef + + console.log = function(text) { + var args = Array.prototype.slice.call(arguments, 1), + i = 0; + + text = text.replace(/%\w/g, function() { + return args[i++] || ''; + }); + + if (window.console) window.console.log(text); + document.body.innerHTML += '
' + escape(text) + '
'; + }; + + if (!Object.keys) { + Object.keys = function(obj) { + var out = [], + key; + + for (key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + out.push(key); + } + } + + return out; + }; + } + + if (!Array.prototype.forEach) { + // eslint-disable-next-line no-extend-native + Array.prototype.forEach = function(callback, context) { + for (var i = 0; i < this.length; i++) { + callback.call(context || null, this[i], i, this); + } + }; + } + + if (!String.prototype.trim) { + // eslint-disable-next-line no-extend-native + String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g, ''); + }; + } + + // eslint-disable-next-line no-unused-vars + function load() { + return files; + } + + function escape(html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + + __LIBS__; // eslint-disable-line no-undef, no-unused-expressions + + (__MAIN__)(); // eslint-disable-line no-undef +}).call(this); -- cgit v1.2.3-1-g7c22