mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-03 02:30:06 +00:00
chore(tests): tested 'parseSourceCode' and 'parseGeneratedCode' functions directly
This commit is contained in:
@@ -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()
|
||||
})
|
||||
|
||||
35
src/utils/parseSourceCode.spec.ts
Normal file
35
src/utils/parseSourceCode.spec.ts
Normal file
@@ -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 = `<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
|
||||
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 */
|
||||
Reference in New Issue
Block a user