Rename tools.code-coverage to tools.coverage, change some word names.

db4
Doug Coleman 2011-08-26 14:32:41 -05:00
parent 4d38a02316
commit 98b154c14e
4 changed files with 51 additions and 51 deletions

View File

@ -1,51 +0,0 @@
! Copyright (C) 2011 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs fry kernel quotations sequences strings
tools.annotations vocabs words prettyprint io ;
IN: tools.code-coverage
TUPLE: coverage < identity-tuple executed? ;
C: <coverage> coverage
GENERIC: code-coverage-on ( object -- )
GENERIC: code-coverage-off ( object -- )
M: string code-coverage-on
words [ code-coverage-on ] each ;
M: string code-coverage-off ( vocabulary -- )
words [ code-coverage-off ] each ;
M: word code-coverage-on ( word -- )
H{ } clone [ "code-coverage" set-word-prop ] 2keep
'[
coverage new [ _ set-at ] 2keep
'[ _ t >>executed? drop ] [ ] surround
] deep-annotate ;
M: word code-coverage-off ( word -- )
[ reset ] [ f "code-coverage" set-word-prop ] bi ;
GENERIC: untested ( object -- seq )
M: string untested
words [ dup untested ] { } map>assoc ;
M: word untested ( word -- seq )
"code-coverage" word-prop >alist
[ drop executed?>> not ] assoc-filter values ;
GENERIC: show-untested ( object -- )
M: string show-untested
words [ show-untested ] each ;
M: word show-untested
dup untested [
drop
] [
[ name>> ":" append print ]
[ [ bl bl bl bl . ] each ] bi*
] if-empty ;

View File

@ -0,0 +1,51 @@
! Copyright (C) 2011 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs fry kernel quotations sequences strings
tools.annotations vocabs words prettyprint io ;
IN: tools.coverage
TUPLE: coverage < identity-tuple executed? ;
C: <coverage> coverage
GENERIC: coverage-on ( object -- )
GENERIC: coverage-off ( object -- )
M: string coverage-on
words [ coverage-on ] each ;
M: string coverage-off ( vocabulary -- )
words [ coverage-off ] each ;
M: word coverage-on ( word -- )
H{ } clone [ "coverage" set-word-prop ] 2keep
'[
\ coverage new [ _ set-at ] 2keep
'[ _ t >>executed? drop ] [ ] surround
] deep-annotate ;
M: word coverage-off ( word -- )
[ reset ] [ f "coverage" set-word-prop ] bi ;
GENERIC: coverage ( object -- seq )
M: string coverage
words [ dup coverage ] { } map>assoc ;
M: word coverage ( word -- seq )
"coverage" word-prop >alist
[ drop executed?>> not ] assoc-filter values ;
GENERIC: coverage. ( object -- )
M: string coverage.
words [ coverage. ] each ;
M: word coverage.
dup coverage [
drop
] [
[ name>> ":" append print ]
[ [ bl bl bl bl . ] each ] bi*
] if-empty ;