MCPcopy Create free account
hub / github.com/TypeStrong/tsify / expectMappedToken

Function expectMappedToken

test/test.js:768–795  ·  view source on GitHub ↗
(t, srcFile, mapSourceFile, compiled, token)

Source from the content-addressed store, hash-verified

766}
767
768function expectMappedToken(t, srcFile, mapSourceFile, compiled, token) {
769 if (!token) {
770 token = compiled;
771 compiled = mapSourceFile;
772 mapSourceFile = srcFile;
773 }
774
775 var src = fs.readFileSync(srcFile, 'utf-8');
776 var compiledPosition = indexToLineAndColumn(compiled, compiled.indexOf(token));
777 var expectedSrcPosition = indexToLineAndColumn(src, src.indexOf(token));
778 expectedSrcPosition.name = null;
779 expectedSrcPosition.source = mapSourceFile;
780
781 if (expectedSrcPosition.column === -1) {
782 t.fail('Token "' + token + '" should be in expected code');
783 }
784 if (compiledPosition.column === -1) {
785 t.fail('Token "' + token + '" should be in compiled code');
786 }
787
788 if (expectedSrcPosition.column !== -1 && compiledPosition.column !== -1) {
789 var map = convert.fromSource(compiled).toObject();
790 var smc = new sm.SourceMapConsumer(map);
791 var actualSrcPosition = smc.originalPositionFor(compiledPosition);
792
793 t.deepEqual(actualSrcPosition, expectedSrcPosition, 'Token "' + token + '" should be mapped correctly');
794 }
795}
796
797function countLinesUntil(str, index) {
798 var count = 1;

Callers 1

test.jsFile · 0.85

Calls 1

indexToLineAndColumnFunction · 0.85

Tested by

no test coverage detected