mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Marko v3: Added tests for onBeforeGenerateCode and onAfterGenerateCode
This commit is contained in:
parent
29fdb6ba5c
commit
5ebfc173f4
6
test/fixtures/codegen/autotest/code-before-after-if/expected.js
vendored
Normal file
6
test/fixtures/codegen/autotest/code-before-after-if/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
if (a > b) {
|
||||||
|
before();
|
||||||
|
out.w("<div class=\"greeting\">Hello World</div>");
|
||||||
|
|
||||||
|
after();
|
||||||
|
}
|
||||||
29
test/fixtures/codegen/autotest/code-before-after-if/index.js
vendored
Normal file
29
test/fixtures/codegen/autotest/code-before-after-if/index.js
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function(builder) {
|
||||||
|
var htmlElement = builder.htmlElement(
|
||||||
|
'div',
|
||||||
|
[
|
||||||
|
{
|
||||||
|
name: 'class',
|
||||||
|
value: builder.literal('greeting')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
builder.text(builder.literal('Hello World'))
|
||||||
|
]);
|
||||||
|
|
||||||
|
htmlElement.onBeforeGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('before', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
htmlElement.onAfterGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('after', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
var ifStatement = builder.ifStatement('a > b', [
|
||||||
|
htmlElement
|
||||||
|
]);
|
||||||
|
|
||||||
|
return ifStatement;
|
||||||
|
};
|
||||||
9
test/fixtures/codegen/autotest/code-before-after-surrounded/expected.js
vendored
Normal file
9
test/fixtures/codegen/autotest/code-before-after-surrounded/expected.js
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
if (a > b) {
|
||||||
|
var before;
|
||||||
|
|
||||||
|
before();
|
||||||
|
var foo;
|
||||||
|
after();
|
||||||
|
|
||||||
|
var after;
|
||||||
|
}
|
||||||
21
test/fixtures/codegen/autotest/code-before-after-surrounded/index.js
vendored
Normal file
21
test/fixtures/codegen/autotest/code-before-after-surrounded/index.js
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function(builder) {
|
||||||
|
var vars = builder.vars([ 'foo' ]);
|
||||||
|
|
||||||
|
vars.onBeforeGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('before', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
vars.onAfterGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('after', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
var ifStatement = builder.ifStatement('a > b', [
|
||||||
|
builder.vars([ 'before' ]),
|
||||||
|
vars,
|
||||||
|
builder.vars([ 'after' ])
|
||||||
|
]);
|
||||||
|
|
||||||
|
return ifStatement;
|
||||||
|
};
|
||||||
5
test/fixtures/codegen/autotest/code-before-after-var/expected.js
vendored
Normal file
5
test/fixtures/codegen/autotest/code-before-after-var/expected.js
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
if (a > b) {
|
||||||
|
before();
|
||||||
|
var foo;
|
||||||
|
after();
|
||||||
|
}
|
||||||
19
test/fixtures/codegen/autotest/code-before-after-var/index.js
vendored
Normal file
19
test/fixtures/codegen/autotest/code-before-after-var/index.js
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function(builder) {
|
||||||
|
var vars = builder.vars([ 'foo' ]);
|
||||||
|
|
||||||
|
vars.onBeforeGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('before', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
vars.onAfterGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('after', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
var ifStatement = builder.ifStatement('a > b', [
|
||||||
|
vars
|
||||||
|
]);
|
||||||
|
|
||||||
|
return ifStatement;
|
||||||
|
};
|
||||||
4
test/fixtures/codegen/autotest/code-before-after/expected.js
vendored
Normal file
4
test/fixtures/codegen/autotest/code-before-after/expected.js
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
before();
|
||||||
|
out.w("<div class=\"greeting\">Hello World</div>");
|
||||||
|
|
||||||
|
after();
|
||||||
25
test/fixtures/codegen/autotest/code-before-after/index.js
vendored
Normal file
25
test/fixtures/codegen/autotest/code-before-after/index.js
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function(builder) {
|
||||||
|
var htmlElement = builder.htmlElement(
|
||||||
|
'div',
|
||||||
|
[
|
||||||
|
{
|
||||||
|
name: 'class',
|
||||||
|
value: builder.literal('greeting')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
builder.text(builder.literal('Hello World'))
|
||||||
|
]);
|
||||||
|
|
||||||
|
htmlElement.onBeforeGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('before', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
htmlElement.onAfterGenerateCode((event) => {
|
||||||
|
event.insertCode(builder.functionCall('after', []));
|
||||||
|
});
|
||||||
|
|
||||||
|
return htmlElement;
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user