| 
					
				 | 
			
			
				@@ -0,0 +1,32 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Lexers from './../grammar/'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import * as Expressions from './../js/ast/expressions/'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import * as Commands from './../js/ast/commands/'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {Types} from './../js/ast/types'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IVProgParser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from './../js/ast/ivprogParser'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+describe('Variable declaration inside a function', () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let input = `programa { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      funcao inicio() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inteiro a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const lexer = Lexers['pt_br']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const ast = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      global: [ ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      functions: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new Commands.Function(null,Types.VOID,[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new Commands.CommandBlock([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          new Commands.Declaration('a',Types.INTEGER,null,false)],[])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    it(`must be inside the variables list`, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const as = new IVProgParser(input, lexer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const fun = as.parseTree(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        expect(fun).toEqual(ast); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 |