@ -4,11 +4,15 @@
( ert-deftest phpinspect-bmap-overlay ( )
( let ( ( bmap ( phpinspect-make-bmap ) )
( bmap2 ( phpinspect-make-bmap ) )
( bmap3 ( phpinspect-make-bmap ) ) )
( bmap3 ( phpinspect-make-bmap ) )
( token ' ( :token ) )
( token1 ' ( :token1 ) )
( token2 ' ( :token2 ) )
( token3 ' ( :token3 ) ) )
( phpinspect-bmap-register bmap 10 20 'token )
( phpinspect-bmap-register bmap2 20 24 'token2 )
( phpinspect-bmap-register bmap3 40 50 'token3 )
( phpinspect-bmap-register bmap 10 20 token)
( phpinspect-bmap-register bmap2 20 24 token2)
( phpinspect-bmap-register bmap3 40 50 token3)
( should ( phpinspect-bmap-token-starting-at bmap 10 ) )
@ -24,74 +28,77 @@
bmap2 bmap ( phpinspect-bmap-token-starting-at bmap 50 ) 5 )
( should ( eq ' token2 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 20 ) ) ) )
( should ( eq ' token ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 7 ) ) ) )
( should ( eq token2 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 20 ) ) ) )
( should ( eq token ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 7 ) ) ) )
;; Nesting for token-starting-at
( should ( eq ' token3 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap 50 ) ) ) )
( should ( eq token3 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap 50 ) ) ) )
( should ( eq ' token3 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 55 ) ) ) )
( should ( eq token3 ( phpinspect-meta-token
( phpinspect-bmap-token-starting-at bmap2 55 ) ) ) )
( should ( phpinspect-bmap-token-meta bmap ' token) )
( should ( phpinspect-bmap-token-meta bmap2 ' token2) )
( should ( phpinspect-bmap-token-meta bmap2 ' token) )
( should ( phpinspect-bmap-token-meta bmap2 ' token3) ) ) )
( should ( phpinspect-bmap-token-meta bmap token) )
( should ( phpinspect-bmap-token-meta bmap2 token2) )
( should ( phpinspect-bmap-token-meta bmap2 token) )
( should ( phpinspect-bmap-token-meta bmap2 token3) ) ) )
( ert-deftest phpinspect-bmap-nest-parent ( )
( let ( ( bmap ( phpinspect-make-bmap ) ) )
( phpinspect-bmap-register bmap 10 20 'child )
( phpinspect-bmap-register bmap 5 25 'parent )
( phpinspect-bmap-register bmap 2 30 'granny )
( let ( ( bmap ( phpinspect-make-bmap ) )
( child ' ( :child ) )
( parent ' ( :parent ) )
( granny ' ( :granny ) ) )
( phpinspect-bmap-register bmap 10 20 child )
( phpinspect-bmap-register bmap 5 25 parent )
( phpinspect-bmap-register bmap 2 30 granny )
( let ( ( child ( phpinspect-bmap-token-meta bmap 'child ) )
( parent ( phpinspect-bmap-token-meta bmap 'parent ) ) )
( should ( eq ' parent ( phpinspect-meta-token
( phpinspect-meta-parent child ) ) ) )
( should ( eq ' granny ( phpinspect-meta-token ( phpinspect-meta-parent parent ) ) ) ) ) ) )
( let ( ( child -meta ( phpinspect-bmap-token-meta bmap child) )
( parent -meta ( phpinspect-bmap-token-meta bmap parent) ) )
( should ( eq parent ( phpinspect-meta-token
( phpinspect-meta-parent child -meta ) ) ) )
( should ( eq granny ( phpinspect-meta-token ( phpinspect-meta-parent parent -meta ) ) ) ) ) ) )
( ert-deftest phpinspect-bmap-tokens-overlapping ( )
( let ( ( bmap ( phpinspect-make-bmap ) ) )
( phpinspect-bmap-register bmap 9 200 'node1 )
( phpinspect-bmap-register bmap 20 200 'node2 )
( phpinspect-bmap-register bmap 9 20 'node3 )
( phpinspect-bmap-register bmap 21 44 'node4 )
( phpinspect-bmap-register bmap 9 200 ' ( :node1 ) )
( phpinspect-bmap-register bmap 20 200 ' ( :node2 ) )
( phpinspect-bmap-register bmap 9 20 ' ( :node3 ) )
( phpinspect-bmap-register bmap 21 44 ' ( :node4 ) )
( setq result ( phpinspect-bmap-tokens-overlapping bmap 22 ) )
( should ( equal ' ( node4 node2 node1 ) ( mapcar #' phpinspect-meta-token result ) ) ) ) )
( should ( equal ' ( ( :node4 ) ( :node2 ) ( :node1 ) ) ( mapcar #' phpinspect-meta-token result ) ) ) ) )
( ert-deftest phpinspect-bmap-tokens-overlapping-overlayed ( )
( let ( ( bmap ( phpinspect-make-bmap ) )
( bmap2 ( phpinspect-make-bmap ) )
( bmap3 ( phpinspect-make-bmap ) ) )
( phpinspect-bmap-register bmap 9 200 'token1 )
( phpinspect-bmap-register bmap 20 200 'token2 )
( phpinspect-bmap-register bmap 9 20 'token3 )
( phpinspect-bmap-register bmap 21 44 'token4 )
( phpinspect-bmap-register bmap 9 200 ' ( :token1 ) )
( phpinspect-bmap-register bmap 20 200 ' ( :token2 ) )
( phpinspect-bmap-register bmap 9 20 ' ( :token3 ) )
( phpinspect-bmap-register bmap 21 44 ' ( :token4 ) )
( phpinspect-bmap-register bmap2 200 230 'token5 )
( phpinspect-bmap-register bmap3 300 305 'token6 )
( phpinspect-bmap-register bmap2 200 230 ' ( :token5 ) )
( phpinspect-bmap-register bmap3 300 305 ' ( :token6 ) )
;; Should start at 220 of bmap2
( phpinspect-bmap-overlay
bmap2 bmap3 ( phpinspect-bmap-token-starting-at bmap3 300 ) -80 )
( setq result ( phpinspect-bmap-tokens-overlapping bmap2 220 ) )
( should ( equal ' ( token6 token5 ) ( mapcar #' phpinspect-meta-token result ) ) )
( should ( equal ' ( ( :token6 ) ( :token5 ) ) ( mapcar #' phpinspect-meta-token result ) ) )
( phpinspect-bmap-overlay
bmap bmap2 ( phpinspect-bmap-token-starting-at bmap2 200 ) 20 )
( setq result ( phpinspect-bmap-tokens-overlapping bmap 240 ) )
( should ( equal ' ( token6 token5 ) ( mapcar #' phpinspect-meta-token result ) ) )
( should ( equal ' ( ( :token6 ) ( :token5 ) ) ( mapcar #' phpinspect-meta-token result ) ) )
( setq result ( phpinspect-bmap-tokens-overlapping bmap 22 ) )
( should ( equal ' ( token4 token2 token1 ) ( mapcar #' phpinspect-meta-token result ) ) ) ) )
( should ( equal ' ( ( :token4 ) ( :token2 ) ( :token1 ) ) ( mapcar #' phpinspect-meta-token result ) ) ) ) )
( ert-deftest phpinspect-bmap-register ( )
( let* ( ( bmap ( phpinspect-make-bmap ) )