Skip to content

Commit

Permalink
✅ Add serverVar & injected variable test
Browse files Browse the repository at this point in the history
  • Loading branch information
skerit committed May 5, 2024
1 parent 9f47e32 commit 9b9ca35
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 3 deletions.
34 changes: 32 additions & 2 deletions test/10-expressions.js
Original file line number Diff line number Diff line change
Expand Up @@ -1080,6 +1080,24 @@ This should be a converted variable:
</span>
</div>
`,
],
[
(vars, renderer) => {
state = {};
vars.set('my_injected_value', Optional('alpha'));
renderer.serverVar('my_server_var', Optional('beta'));
},
`
<print-variables +injected={% my_injected_value %}></print-variables>
`,
`
<print-variables>
<div>
Injected: alpha
Servervar: beta
</div>
</print-variables>
`,
]
];

Expand Down Expand Up @@ -1344,7 +1362,7 @@ function createTests(tests) {
if (setup_tasks) {

for (let task of setup_tasks) {
setup_pledges.push(task(variables));
setup_pledges.push(task(variables, renderer));
}
}

Expand All @@ -1367,6 +1385,7 @@ function createTests(tests) {

if (is_reactive) {
res = res.replace(/\s+data-hid=["'].*?["']/g, '');
res = res.replace(/\s+he-rendered=["'].*?["']/g, '');
}

try {
Expand All @@ -1382,7 +1401,7 @@ function createTests(tests) {
if (typeof task == 'function') {

try {
await task(variables);
await task(variables, renderer);
} catch (err) {
return next(err);
}
Expand All @@ -1394,6 +1413,17 @@ function createTests(tests) {
// Simple race condition hack
await Classes.Pledge.after(5);

let pledge = new Classes.Pledge();

// Reactive changes are grouped in an immediate call,
// we need to make sure we wait until the next group call
// to continue
Blast.nextGroupedImmediate(() => {
pledge.resolve();
});

await pledge;

res = block.toHTML();
res = res.replace(/\s+data-hid=["'].*?["']/g, '');
res = res.replace(/\s+he-rendered=["'].*?["']/g, '');
Expand Down
1 change: 1 addition & 0 deletions test/helpers/_load.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ module.exports = function loadHawkejs(hawkejs) {
hawkejs.load(test_base + '/helpers/render_looper.js');
hawkejs.load(test_base + '/helpers/print_attribute.js');
hawkejs.load(test_base + '/helpers/with_prepared_variables.js');
hawkejs.load(test_base + '/helpers/print_variables_element.js');
}
2 changes: 1 addition & 1 deletion test/helpers/_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ global.despace = function despace(text, replacement) {
replacement = ' ';
}

let result = text.trim().replace(/\r\n/g, '\n').replace(/\n/g, replacement).replace(/\s\s+/g, replacement);
let result = text.trim().replace(/\t/g, ' ').replace(/\r\n/g, '\n').replace(/\n/g, replacement).replace(/\s\s+/g, replacement);

return result;
};
Expand Down
3 changes: 3 additions & 0 deletions test/helpers/print_variables_element.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
const PrintVariables = Fn.inherits('Hawkejs.Element', 'PrintVariables');

PrintVariables.setTemplateFile('elements/print_variables');
4 changes: 4 additions & 0 deletions test/templates/elements/print_variables.hwk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
Injected: {{ &injected }}
Servervar: {{ serverVar('my_server_var') }}
</div>

0 comments on commit 9b9ca35

Please sign in to comment.