diff --git a/src/SASjs.spec.ts b/src/utils/parseGeneratedCode.spec.ts similarity index 62% rename from src/SASjs.spec.ts rename to src/utils/parseGeneratedCode.spec.ts index 99c58fd..116a88f 100644 --- a/src/SASjs.spec.ts +++ b/src/utils/parseGeneratedCode.spec.ts @@ -1,34 +1,21 @@ -import SASjs from './index' - -const adapter = new SASjs() - -it('should parse SAS9 source code', async (done) => { - expect(sampleResponse).toBeTruthy() - const parsedSourceCode = (adapter as any).parseSAS9SourceCode(sampleResponse) - expect(parsedSourceCode).toBeTruthy() - const sourceCodeLines = parsedSourceCode.split('\r\n') - expect(sourceCodeLines.length).toEqual(5) - expect(sourceCodeLines[0].startsWith('6')).toBeTruthy() - expect(sourceCodeLines[1].startsWith('7')).toBeTruthy() - expect(sourceCodeLines[2].startsWith('8')).toBeTruthy() - expect(sourceCodeLines[3].startsWith('9')).toBeTruthy() - expect(sourceCodeLines[4].startsWith('10')).toBeTruthy() - done() -}) +import { parseGeneratedCode } from './index' it('should parse generated code', async (done) => { expect(sampleResponse).toBeTruthy() - const parsedGeneratedCode = (adapter as any).parseGeneratedCode( - sampleResponse - ) + + const parsedGeneratedCode = parseGeneratedCode(sampleResponse) + expect(parsedGeneratedCode).toBeTruthy() + const generatedCodeLines = parsedGeneratedCode.split('\r\n') + expect(generatedCodeLines.length).toEqual(5) expect(generatedCodeLines[0].startsWith('MPRINT(MM_WEBIN)')).toBeTruthy() expect(generatedCodeLines[1].startsWith('MPRINT(MM_WEBLEFT)')).toBeTruthy() expect(generatedCodeLines[2].startsWith('MPRINT(MM_WEBOUT)')).toBeTruthy() expect(generatedCodeLines[3].startsWith('MPRINT(MM_WEBRIGHT)')).toBeTruthy() expect(generatedCodeLines[4].startsWith('MPRINT(MM_WEBOUT)')).toBeTruthy() + done() }) diff --git a/src/utils/parseSourceCode.spec.ts b/src/utils/parseSourceCode.spec.ts new file mode 100644 index 0000000..d407d49 --- /dev/null +++ b/src/utils/parseSourceCode.spec.ts @@ -0,0 +1,35 @@ +import { parseSourceCode } from './index' + +it('should parse SAS9 source code', async (done) => { + expect(sampleResponse).toBeTruthy() + + const parsedSourceCode = parseSourceCode(sampleResponse) + + expect(parsedSourceCode).toBeTruthy() + + const sourceCodeLines = parsedSourceCode.split('\r\n') + + expect(sourceCodeLines.length).toEqual(5) + expect(sourceCodeLines[0].startsWith('6')).toBeTruthy() + expect(sourceCodeLines[1].startsWith('7')).toBeTruthy() + expect(sourceCodeLines[2].startsWith('8')).toBeTruthy() + expect(sourceCodeLines[3].startsWith('9')).toBeTruthy() + expect(sourceCodeLines[4].startsWith('10')).toBeTruthy() + + done() +}) + +/* tslint:disable */ +const sampleResponse = ` +6 @file mm_webout.sas +7 @brief Send data to/from SAS Stored Processes +8 @details This macro should be added to the start of each Stored Process, +9 **immediately** followed by a call to: +10 %webout(OPEN) +MPRINT(MM_WEBIN): ; +MPRINT(MM_WEBLEFT): filename _temp temp lrecl=999999; +MPRINT(MM_WEBOUT): data _null_; +MPRINT(MM_WEBRIGHT): file _temp; +MPRINT(MM_WEBOUT): if upcase(symget('_debug'))='LOG' then put '>>weboutBEGIN<<'; +` +/* tslint:enable */