import { getLocator } from 'locate-character' ; export function test ( { assert , preprocessed , js , css } ) { assert . deepEqual ( preprocessed . map . names . sort ( ) , [ 'baritone' , '--bazitone' , 'old_name_1' , 'old_name_2' ] . sort ( ) ) ; function test_name ( old_name , new_name , where ) { let loc = { character : - 1 } ; while ( loc = where . locate ( new_name , loc . character + 1 ) ) { const actualMapping = where . mapConsumer . originalPositionFor ( { line : loc . line + 1 , column : loc . column } ) ; if ( actualMapping . line === null ) { continue ; } assert . equal ( actualMapping . name , old_name ) ; } if ( loc === undefined ) { where . locate = getLocator ( where . code ) ; } } test_name ( 'baritone' , 'bar' , js ) ; test_name ( 'baritone' , 'bar' , preprocessed ) ; test_name ( '--bazitone' , '--baz' , css ) ; test_name ( '--bazitone' , '--baz' , preprocessed ) ; test_name ( 'old_name_1' , 'new_name_1' , js ) ; test_name ( 'old_name_1' , 'new_name_1' , preprocessed ) ; test_name ( 'old_name_2' , 'new_name_2' , js ) ; test_name ( 'old_name_2' , 'new_name_2' , preprocessed ) ; }