+++ /dev/null
-! 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 ;
--- /dev/null
+! 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 ;