aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2017-07-03 06:27:58 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2017-08-10 07:24:30 +0200
commit7f81400723f602467e9f611cbef5addb31ced616 (patch)
tree9bdef84825d55e523160e08723d7bedb2c009dd3 /tools
parenta439cf4354c4781c7ac0026c7f69f7160e8439fb (diff)
downloadandroid-node-v8-7f81400723f602467e9f611cbef5addb31ced616.tar.gz
android-node-v8-7f81400723f602467e9f611cbef5addb31ced616.tar.bz2
android-node-v8-7f81400723f602467e9f611cbef5addb31ced616.zip
tools: fix tools/addon-verify.js
The current implementation of addon-verify.js is including the code for the "Function arguments" section in test/addons/01_callbacks and there is no directory generated or the "Function arguments section". This continues and leads to the last section, "AtExit", code to be excluded. There is an test/addons/07_atexit_hooks but it contains code from the "Passing wrapped objects around" section. This commit modifies addon-verify to associate headers with code and then iterates over the set and generates the files as a separate step. PR-URL: https://github.com/nodejs/node/pull/14048 Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/doc/addon-verify.js36
1 files changed, 18 insertions, 18 deletions
diff --git a/tools/doc/addon-verify.js b/tools/doc/addon-verify.js
index 9af040b339..2e72abb77f 100644
--- a/tools/doc/addon-verify.js
+++ b/tools/doc/addon-verify.js
@@ -11,29 +11,29 @@ const verifyDir = path.resolve(rootDir, 'test', 'addons');
const contents = fs.readFileSync(doc).toString();
const tokens = marked.lexer(contents);
-let files = null;
let id = 0;
-// Just to make sure that all examples will be processed
-tokens.push({ type: 'heading' });
-
-for (var i = 0; i < tokens.length; i++) {
- var token = tokens[i];
+let currentHeader;
+const addons = {};
+tokens.forEach((token) => {
if (token.type === 'heading' && token.text) {
- const blockName = token.text;
- if (files && Object.keys(files).length !== 0) {
- verifyFiles(files,
- blockName,
- console.log.bind(null, 'wrote'),
- function(err) { if (err) throw err; });
- }
- files = {};
- } else if (token.type === 'code') {
+ currentHeader = token.text;
+ addons[currentHeader] = {
+ files: {}
+ };
+ }
+ if (token.type === 'code') {
var match = token.text.match(/^\/\/\s+(.*\.(?:cc|h|js))[\r\n]/);
- if (match === null)
- continue;
- files[match[1]] = token.text;
+ if (match !== null) {
+ addons[currentHeader].files[match[1]] = token.text;
+ }
}
+});
+for (var header in addons) {
+ verifyFiles(addons[header].files,
+ header,
+ console.log.bind(null, 'wrote'),
+ function(err) { if (err) throw err; });
}
function once(fn) {