UNPKG

maestro-roku-bsc-plugin

Version:

Visual studio plugin for maestro brightscript development

79 lines (76 loc) 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const brighterscript_1 = require("brighterscript"); const ImportProcessor_1 = require("./ImportProcessor"); let importProcessor; describe('build time imports', () => { beforeEach(() => { importProcessor = new ImportProcessor_1.default({ 'buildTimeImports': { 'IAuthProvider': ['pkg:/source/AuthManager.bs'] } }); }); it('adds build time imports', () => { let program = new brighterscript_1.Program({}); program.setFile('source/AuthManager.bs', ` class someClass end class `); program.validate(); let file = new brighterscript_1.BrsFile('/tmp/t.bs', 'source/t.bs', program); file.parse(` import "pkg:/source/mixins/FocusMixin.bs" import "build:/IAuthProvider" function Init() as void m.log.I("Init") m.screenStack = createObject("roArray", 0, true) m.top.topScreen = invalid end function `); importProcessor.processDynamicImports(file, program); (0, chai_1.expect)(file.getDiagnostics()).to.be.empty; }); it('empty build time imports', () => { let program = new brighterscript_1.Program({}); program.setFile('source/AuthManager.bs', ` class someClass end class `); program.validate(); let file = new brighterscript_1.BrsFile('/tmp/t.bs', 'source/t.bs', program); file.parse(` import "pkg:/source/mixins/FocusMixin.bs" import "build:/IAuthProvider" function Init() as void m.log.I("Init") m.screenStack = createObject("roArray", 0, true) m.top.topScreen = invalid end function `); importProcessor.processDynamicImports(file, program); (0, chai_1.expect)(file.getDiagnostics()).to.be.empty; }); it('does not add diagnostics for empty build time imports, and parses file correctly', () => { importProcessor = new ImportProcessor_1.default({ 'buildTimeImports': { 'IAuthProvider': [] } }); let program = new brighterscript_1.Program({}); let file = new brighterscript_1.BrsFile('/tmp/t.bs', 'source/t.bs', program); file.parse(` import "pkg:/source/mixins/FocusMixin.bs" import "build:/IAuthProvider" function Init() as void m.log.I("Init") m.screenStack = createObject("roArray", 0, true) m.top.topScreen = invalid end function `); importProcessor.processDynamicImports(file, program); (0, chai_1.expect)(file.getDiagnostics()).to.have.length(0); }); }); //# sourceMappingURL=ImportProcessor.spec.js.map