|  | @@ -0,0 +1,32 @@
 | 
	
		
			
				|  |  | +import { IVProgParser } from './../js/ast/ivprogParser';
 | 
	
		
			
				|  |  | +import { IVProgProcessor} from './../js/processor/ivprogProcessor'
 | 
	
		
			
				|  |  | +import { SemanticAnalyser } from "./../js/processor/semantic/semanticAnalyser";
 | 
	
		
			
				|  |  | +import { LanguageService } from '../js/services/languageService';
 | 
	
		
			
				|  |  | +import { OutputTest } from '../js/util/outputTest';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +describe('A global matrix variable',function () {
 | 
	
		
			
				|  |  | +  let input = `programa { 
 | 
	
		
			
				|  |  | +    inteiro nova_global_0 [4][4] = {{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    funcao vazio inicio (  )  {
 | 
	
		
			
				|  |  | +      escreva ( nova_global_0 [ 0 ]  [ 0 ]  ) 
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  }`
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const lexer = LanguageService.getCurrentLexer();
 | 
	
		
			
				|  |  | +  const out = new OutputTest();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  it(`should not throw an exception`, function (done) {
 | 
	
		
			
				|  |  | +    const parser = new IVProgParser(input, lexer);
 | 
	
		
			
				|  |  | +    const semantic = new SemanticAnalyser(parser.parseTree());
 | 
	
		
			
				|  |  | +    const exec = new IVProgProcessor(semantic.analyseTree());
 | 
	
		
			
				|  |  | +    exec.registerOutput(out);
 | 
	
		
			
				|  |  | +    exec.interpretAST().then(_ => {
 | 
	
		
			
				|  |  | +      expect(out.list.length).toEqual(1);
 | 
	
		
			
				|  |  | +      done();
 | 
	
		
			
				|  |  | +    }).catch(err => {
 | 
	
		
			
				|  |  | +      done(err);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +});
 |