diff --git a/test/11-custom_elements.js b/test/11-custom_elements.js
index b0ff08d..c0439ae 100644
--- a/test/11-custom_elements.js
+++ b/test/11-custom_elements.js
@@ -3,6 +3,8 @@ var assert = require('assert'),
hawkejs,
test_id = 0;
+const Blast = __Protoblast;
+
describe('CustomElement', function() {
before(function() {
@@ -271,53 +273,36 @@ describe('CustomElement', function() {
});
describe('.setAttribute(name)', function() {
- it('should add an attribute that is also accessible via a getter/setter', function(done) {
+ it('should add an attribute that is also accessible via a getter/setter', async function() {
- var code = `
+ let code = `
<% el = create_element('he-test') %>
<% el.testval = "bla" %>
<%= el %>
`;
- var compiled = hawkejs.compile('he_test_1', code);
-
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
+ let compiled = hawkejs.compile('he_test_1', code);
- res = res.trim();
+ let result = await renderWithPledge(compiled);
- assertEqualHtml(res, '');
- done();
- });
+ assertEqualHtml(result.html, '');
});
});
describe('.setAssignedProperty(name)', function() {
- it('should execute the special assigned function', function(done) {
+ it('should execute the special assigned function', async function() {
- var code = `
<%
+ let code = `
<%
at = createElement('assign-test');
at.stopped = "test";
at.title = "Bla";
print(at);
%>
`;
- var compiled = hawkejs.compile('he_test_2', code);
+ let compiled = hawkejs.compile('he_test_2', code);
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
-
- res = res.trim();
-
- assertEqualHtml(res, '
');
- done();
- });
+ let result = await renderWithPledge(compiled);
+ assertEqualHtml(result.html, '
');
});
it('should revive the assigned data when sent to the browser', async function() {
@@ -376,28 +361,14 @@ describe('CustomElement', function() {
});
describe('.setTemplate(source, is_plain_html)', function() {
- it('should set the template to render the contents', function(done) {
-
- setTimeout(function() {
-
- var code = `
NOPE`;
-
- var compiled = hawkejs.compile('template_test_2', code);
-
- hawkejs.render(compiled, {}, function rendered(err, res) {
+ it('should set the template to render the contents', async function() {
- if (err) {
- throw err;
- }
-
- res = res.trim();
+ let code = `
NOPE`;
- assertEqualHtml(res, '
This is a test!!This is a test!!');
+ let compiled = hawkejs.compile('template_test_2', code);
- done();
- });
-
- }, 4);
+ let result = await renderWithPledge(compiled);
+ assertEqualHtml(result.html, '
This is a test!!This is a test!!');
});
it('should load the stylesheets of custom elements created in the sync template', async function() {
@@ -504,113 +475,72 @@ describe('CustomElement', function() {
});
describe('.setTemplateFile(path)', function() {
- it('should set the template to use for the content of the element', function(done) {
+ it('should set the template to use for the content of the element', async function() {
- var TemplateTest = __Protoblast.Bound.Function.inherits('Hawkejs.Element', function TemplateTest() {
+ let TemplateTest = __Protoblast.Bound.Function.inherits('Hawkejs.Element', function TemplateTest() {
return TemplateTest.super.call(this);
});
TemplateTest.setTemplateFile('partials/template_test');
- setTimeout(function() {
+ await Blast.Classes.Pledge.after(4);
- var code = `
`;
+ let code = `
`;
- var compiled = hawkejs.compile('template_test_1', code);
+ let compiled = hawkejs.compile('template_test_1', code);
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
-
- res = res.trim();
-
- assertEqualHtml(res, '
This is the content of template-test');
- done();
- });
-
- }, 4);
+ let result = await renderWithPledge(compiled);
+ assertEqualHtml(result.html, '
This is the content of template-test');
});
- it('should allow the usage of slots', function(done) {
+ it('should allow the usage of slots', async function() {
- var TemplateSlotTest = __Protoblast.Bound.Function.inherits('Hawkejs.Element', function TemplateSlotTest() {
+ let TemplateSlotTest = __Protoblast.Bound.Function.inherits('Hawkejs.Element', function TemplateSlotTest() {
return TemplateSlotTest.super.call(this);
});
TemplateSlotTest.setTemplateFile('partials/template_slot_test');
- setTimeout(function() {
+ await Blast.Classes.Pledge.after(4);
- var code = `
+ let code = `
This will set the content of the main slot
`;
- var compiled = hawkejs.compile('template_test_2', code);
+ let compiled = hawkejs.compile('template_test_2', code);
- hawkejs.render(compiled, {}, function rendered(err, res) {
+ let result = await renderWithPledge(compiled);
- if (err) {
- throw err;
- }
-
- res = res.trim();
-
- assertEqualHtml(res, 'This will set the content of the main slot
');
- done();
- });
-
- }, 4);
+ assertEqualHtml(result.html, 'This will set the content of the main slot
');
});
- it('should not confuse slots with similar elements', function(done) {
+ it('should not confuse slots with similar elements', async function() {
- var code = `
+ let code = `
Slot test 1
Slot test 2
`;
- var compiled = hawkejs.compile('template_test_3', code);
+ let compiled = hawkejs.compile('template_test_3', code);
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
+ let result = await renderWithPledge(compiled);
- res = res.trim();
-
- assertEqualHtml(res, 'Slot test 1
\nSlot test 2
');
- done();
- });
+ assertEqualHtml(result.html, 'Slot test 1
\nSlot test 2
');
});
- it('should render the contents after the attributes have been set', function(done) {
+ it('should render the contents after the attributes have been set', async function() {
let code = `
`;
- var compiled = hawkejs.compile('template_test_4', code);
+ let compiled = hawkejs.compile('template_test_4', code);
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
+ let result = await renderWithPledge(compiled);
- res = res.trim();
-
- try {
- assertEqualHtml(res, 'pretty-title');
- } catch (err) {
- return done(err);
- }
- done();
- });
+ assertEqualHtml(result.html, 'pretty-title');
});
it('should render the contents after the attributes have been set (within extensions)', async function() {
@@ -628,35 +558,21 @@ describe('CustomElement', function() {
assert.strictEqual(data.html.indexOf('>pretty-title') > -1, true);
});
- it('should set the corrent $0 variable inside the template', function(done) {
+ it('should set the corrent $0 variable inside the template', async function() {
let code = `
`;
- var compiled = hawkejs.compile('template_parent-element-test', code);
-
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
-
- res = res.trim();
-
- try {
- assertEqualHtml(res, `
- Self: PARENT-ELEMENT-SYNC-TEST - Parent: SPAN
- Self: PARENT-ELEMENT-ASYNC-TEST - Parent: DIV
- `);
- } catch (err) {
- return done(err);
- }
- done();
- });
+ let compiled = hawkejs.compile('template_parent-element-test', code);
+ let result = await renderWithPledge(compiled);
+ assertEqualHtml(result.html, `
+ Self: PARENT-ELEMENT-SYNC-TEST - Parent: SPAN
+ Self: PARENT-ELEMENT-ASYNC-TEST - Parent: DIV
+ `);
});
});
@@ -685,30 +601,16 @@ describe('CustomElement', function() {
});
describe('#rendered()', () => {
- it('should call back when the element has been rendered', (done) => {
+ it('should call back when the element has been rendered', async () => {
let code = `
`;
- var compiled = hawkejs.compile('template_test_rendered_counter', code);
-
- hawkejs.render(compiled, {}, function rendered(err, res) {
-
- if (err) {
- throw err;
- }
-
- res = res.trim();
-
- try {
- assertEqualHtml(res, '');
- } catch (err) {
- return done(err);
- }
- done();
- });
+ let compiled = hawkejs.compile('template_test_rendered_counter', code);
+ let result = await renderWithPledge(compiled);
+ assertEqualHtml(result.html, '');
});
});