mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
33 lines
999 B
JavaScript
33 lines
999 B
JavaScript
'use strict';
|
|
|
|
var chai = require('chai');
|
|
chai.config.includeStack = true;
|
|
var expect = require('chai').expect;
|
|
|
|
var path = require('path');
|
|
var compiler = require('../compiler');
|
|
var builder = compiler.createBuilder();
|
|
var autotest = require('./autotest');
|
|
|
|
describe('compiler/codegen', function() {
|
|
var autoTestDir = path.join(__dirname, 'fixtures/codegen/autotest');
|
|
|
|
autotest.scanDir(autoTestDir, function run(dir) {
|
|
var main = require(path.join(dir, 'index.js'));
|
|
var generateCodeFunc = main;
|
|
var ast = generateCodeFunc(builder);
|
|
return compiler.generateCode(ast);
|
|
});
|
|
|
|
it('should not allow a return outside a function', function() {
|
|
let builder = compiler.createBuilder();
|
|
|
|
expect(function() {
|
|
var rootNode = builder.program([
|
|
builder.returnStatement('foo')
|
|
]);
|
|
|
|
compiler.generateCode(rootNode);
|
|
}).to.throw('"return" not allowed outside a function body');
|
|
});
|
|
}); |