| ofs | hex dump | ascii |
|---|
| 0000 | 65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35 2e 31 39 34 39 2f 00 00 00 00 00 00 00 00 00 00 | el-mock-20220625.1949/.......... |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 35 31 00 20 35 00 00 00 | 0000000.00000000000.012351..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35 2e 31 39 34 39 2f 65 6c 2d 6d 6f 63 6b 2d 70 6b | el-mock-20220625.1949/el-mock-pk |
| 0220 | 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | g.el............................ |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 37 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 30 30 37 00 20 30 00 00 00 | 0000727.00000000000.015007..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 65 6c 2d 6d 6f 63 6b 22 20 22 32 30 32 32 30 | (define-package."el-mock"."20220 |
| 0420 | 36 32 35 2e 31 39 34 39 22 20 22 54 69 6e 79 20 4d 6f 63 6b 20 61 6e 64 20 53 74 75 62 20 66 72 | 625.1949"."Tiny.Mock.and.Stub.fr |
| 0440 | 61 6d 65 77 6f 72 6b 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 22 20 27 6e 69 6c 20 3a 63 6f 6d | amework.in.Emacs.Lisp".'nil.:com |
| 0460 | 6d 69 74 20 22 36 63 66 62 63 39 64 65 38 66 31 39 32 37 32 39 35 64 63 61 36 38 36 34 39 30 37 | mit."6cfbc9de8f1927295dca6864907 |
| 0480 | 66 65 34 31 35 36 62 64 37 31 39 31 30 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 72 75 | fe4156bd71910".:authors...'(("ru |
| 04a0 | 62 69 6b 69 74 63 68 22 20 2e 20 22 72 75 62 69 6b 69 74 63 68 40 72 75 62 79 2d 6c 61 6e 67 2e | bikitch"..."rubikitch@ruby-lang. |
| 04c0 | 6f 72 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 4a 6f 68 61 | org"))...:maintainers...'(("Joha |
| 04e0 | 6e 20 41 6e 64 65 72 73 73 6f 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72 65 6a 65 65 70 40 67 6d 61 | n.Andersson"..."johan.rejeep@gma |
| 0500 | 69 6c 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 4a 6f 68 | il.com"))...:maintainer...'("Joh |
| 0520 | 61 6e 20 41 6e 64 65 72 73 73 6f 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72 65 6a 65 65 70 40 67 6d | an.Andersson"..."johan.rejeep@gm |
| 0540 | 61 69 6c 2e 63 6f 6d 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 6c 69 73 70 22 | ail.com")...:keywords...'("lisp" |
| 0560 | 20 22 74 65 73 74 69 6e 67 22 20 22 75 6e 69 74 74 65 73 74 22 29 0a 20 20 3a 75 72 6c 20 22 68 | ."testing"."unittest")...:url."h |
| 0580 | 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2f 65 6c 2d 6d 6f 63 6b 2e | ttp://github.com/rejeep/el-mock. |
| 05a0 | 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 | el").;;.Local.Variables:.;;.no-b |
| 05c0 | 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 | yte-compile:.t.;;.End:.......... |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 65 6c 2d 6d 6f 63 6b 2d 32 30 32 32 30 36 32 35 2e 31 39 34 39 2f 65 6c 2d 6d 6f 63 6b 2e 65 6c | el-mock-20220625.1949/el-mock.el |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 30 32 37 32 31 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 32 35 00 20 30 00 00 00 | 0027211.00000000000.014225..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 65 6c 2d 6d 6f 63 6b 2e 65 6c 20 2d 2d 2d 20 54 69 6e 79 20 4d 6f 63 6b 20 61 6e 64 | ;;;.el-mock.el.---.Tiny.Mock.and |
| 0820 | 20 53 74 75 62 20 66 72 61 6d 65 77 6f 72 6b 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 20 2d | .Stub.framework.in.Emacs.Lisp..- |
| 0840 | 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 | *-.lexical-binding:.t;.-*-..;;.C |
| 0860 | 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2c 20 32 30 31 30 2c 20 32 30 31 32 20 20 72 | opyright.(C).2008,.2010,.2012..r |
| 0880 | 75 62 69 6b 69 74 63 68 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 72 75 62 69 6b 69 74 63 68 20 3c | ubikitch..;;.Author:.rubikitch.< |
| 08a0 | 72 75 62 69 6b 69 74 63 68 40 72 75 62 79 2d 6c 61 6e 67 2e 6f 72 67 3e 0a 3b 3b 20 4d 61 69 6e | rubikitch@ruby-lang.org>.;;.Main |
| 08c0 | 74 61 69 6e 65 72 3a 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 3c 6a 6f 68 61 6e 2e 72 | tainer:.Johan.Andersson.<johan.r |
| 08e0 | 65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 32 | ejeep@gmail.com>.;;.Version:.1.2 |
| 0900 | 35 2e 31 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 6c 69 73 70 2c 20 74 65 73 74 69 6e 67 2c 20 | 5.1.;;.Keywords:.lisp,.testing,. |
| 0920 | 75 6e 69 74 74 65 73 74 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 | unittest.;;.URL:.http://github.c |
| 0940 | 6f 6d 2f 72 65 6a 65 65 70 2f 65 6c 2d 6d 6f 63 6b 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 | om/rejeep/el-mock.el..;;.This.fi |
| 0960 | 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 | le.is.free.software;.you.can.red |
| 0980 | 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 | istribute.it.and/or.modify.;;.it |
| 09a0 | 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 | .under.the.terms.of.the.GNU.Gene |
| 09c0 | 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 | ral.Public.License.as.published. |
| 09e0 | 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 | by.;;.the.Free.Software.Foundati |
| 0a00 | 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 2c 20 6f 72 20 28 61 74 20 79 6f 75 | on;.either.version.2,.or.(at.you |
| 0a20 | 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a | r.option).;;.any.later.version.. |
| 0a40 | 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 | .;;.This.file.is.distributed.in. |
| 0a60 | 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c | the.hope.that.it.will.be.useful, |
| 0a80 | 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 | .;;.but.WITHOUT.ANY.WARRANTY;.wi |
| 0aa0 | 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 | thout.even.the.implied.warranty. |
| 0ac0 | 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 | of.;;.MERCHANTABILITY.or.FITNESS |
| 0ae0 | 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 | .FOR.A.PARTICULAR.PURPOSE...See. |
| 0b00 | 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 | the.;;.GNU.General.Public.Licens |
| 0b20 | 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 | e.for.more.details...;;.You.shou |
| 0b40 | 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 | ld.have.received.a.copy.of.the.G |
| 0b60 | 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f | NU.General.Public.License.;;.alo |
| 0b80 | 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 3b 20 73 65 65 20 74 68 65 20 66 69 6c 65 20 | ng.with.GNU.Emacs;.see.the.file. |
| 0ba0 | 43 4f 50 59 49 4e 47 2e 20 20 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 0a 3b 3b 20 74 68 | COPYING...If.not,.write.to.;;.th |
| 0bc0 | 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e | e.Free.Software.Foundation,.Inc. |
| 0be0 | 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f | ,.51.Franklin.Street,.Fifth.Floo |
| 0c00 | 72 2c 0a 3b 3b 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33 30 31 2c 20 55 53 41 | r,.;;.Boston,.MA.02110-1301,.USA |
| 0c20 | 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 45 6d 61 63 73 20 4c 69 73 | ...;;;.Commentary:..;;.Emacs.Lis |
| 0c40 | 70 20 4d 6f 63 6b 20 69 73 20 61 20 6c 69 62 72 61 72 79 20 66 6f 72 20 6d 6f 63 6b 69 6e 67 20 | p.Mock.is.a.library.for.mocking. |
| 0c60 | 61 6e 64 20 73 74 75 62 62 69 6e 67 20 75 73 69 6e 67 0a 3b 3b 20 72 65 61 64 61 62 6c 65 20 73 | and.stubbing.using.;;.readable.s |
| 0c80 | 79 6e 74 61 78 2e 20 4d 6f 73 74 20 63 6f 6d 6d 6f 6e 6c 79 20 45 6d 61 63 73 20 4c 69 73 70 20 | yntax..Most.commonly.Emacs.Lisp. |
| 0ca0 | 4d 6f 63 6b 20 69 73 20 75 73 65 64 20 69 6e 0a 3b 3b 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 | Mock.is.used.in.;;.conjunction.w |
| 0cc0 | 69 74 68 20 45 6d 61 63 73 20 4c 69 73 70 20 45 78 70 65 63 74 61 74 69 6f 6e 73 2c 20 62 75 74 | ith.Emacs.Lisp.Expectations,.but |
| 0ce0 | 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 0a 3b 3b 20 6f 74 68 65 72 20 63 6f 6e 74 | .it.can.be.used.in.;;.other.cont |
| 0d00 | 65 78 74 73 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 61 6e 64 73 3a 0a 3b 3b 0a 3b 3b 20 42 65 6c 6f 77 | exts...;;;.Commands:.;;.;;.Below |
| 0d20 | 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 3a 0a 3b 3b 0a 3b | .are.complete.command.list:.;;.; |
| 0d40 | 3b 0a 3b 3b 3b 20 43 75 73 74 6f 6d 69 7a 61 62 6c 65 20 4f 70 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b | ;.;;;.Customizable.Options:.;;.; |
| 0d60 | 3b 20 42 65 6c 6f 77 20 61 72 65 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 6f 70 74 69 6f 6e 20 | ;.Below.are.customizable.option. |
| 0d80 | 6c 69 73 74 3a 0a 3b 3b 0a 0a 3b 3b 20 45 6d 61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 70 72 6f | list:.;;..;;.Emacs.Lisp.Mock.pro |
| 0da0 | 76 69 64 65 73 20 74 77 6f 20 73 63 6f 70 65 20 69 6e 74 65 72 66 61 63 65 20 6f 66 20 6d 6f 63 | vides.two.scope.interface.of.moc |
| 0dc0 | 6b 20 61 6e 64 20 73 74 75 62 3a 0a 3b 3b 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64 20 60 | k.and.stub:.;;.`with-mock'.and.` |
| 0de0 | 6d 6f 63 6b 6c 65 74 27 2e 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 6f 6e 6c 79 20 64 65 66 69 6e | mocklet'..`with-mock'.only.defin |
| 0e00 | 65 73 20 61 0a 3b 3b 20 73 63 6f 70 65 2e 20 60 6d 6f 63 6b 6c 65 74 27 20 69 73 20 6d 6f 72 65 | es.a.;;.scope..`mocklet'.is.more |
| 0e20 | 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 6e 20 60 77 | .sophisticated.interface.than.`w |
| 0e40 | 69 74 68 2d 6d 6f 63 6b 27 3a 0a 3b 3b 20 60 6d 6f 63 6b 6c 65 74 27 20 64 65 66 69 6e 65 73 20 | ith-mock':.;;.`mocklet'.defines. |
| 0e60 | 6c 6f 63 61 6c 20 6d 6f 63 6b 20 61 6e 64 20 73 74 75 62 20 6c 69 6b 65 20 60 6c 65 74 27 2c 20 | local.mock.and.stub.like.`let',. |
| 0e80 | 60 66 6c 65 74 27 2c 20 61 6e 64 0a 3b 3b 20 60 6d 61 63 72 6f 6c 65 74 27 2e 0a 0a 3b 3b 20 57 | `flet',.and.;;.`macrolet'...;;.W |
| 0ea0 | 69 74 68 69 6e 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 62 6f 64 79 20 28 6f 72 20 61 72 67 75 6d | ithin.`with-mock'.body.(or.argum |
| 0ec0 | 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 20 69 6e 0a 3b 3b 20 60 6d 6f | ent.function.specified.in.;;.`mo |
| 0ee0 | 63 6b 2d 70 72 6f 74 65 63 74 27 29 2c 20 79 6f 75 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 6d | ck-protect'),.you.can.create.a.m |
| 0f00 | 6f 63 6b 20 61 6e 64 20 61 20 73 74 75 62 2e 20 54 6f 20 63 72 65 61 74 65 20 61 0a 3b 3b 20 73 | ock.and.a.stub..To.create.a.;;.s |
| 0f20 | 74 75 62 2c 20 75 73 65 20 60 73 74 75 62 27 20 6d 61 63 72 6f 2e 20 54 6f 20 63 72 65 61 74 65 | tub,.use.`stub'.macro..To.create |
| 0f40 | 20 61 20 6d 6f 63 6b 2c 20 75 73 65 20 60 6d 6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 20 20 0a 3b 3b | .a.mock,.use.`mock'.macro.....;; |
| 0f60 | 20 46 6f 72 20 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 73 65 65 20 64 6f | .For.further.information:.see.do |
| 0f80 | 63 73 74 72 69 6e 67 73 2e 0a 3b 3b 20 5b 45 56 41 4c 20 49 54 5d 20 28 64 65 73 63 72 69 62 65 | cstrings..;;.[EVAL.IT].(describe |
| 0fa0 | 2d 66 75 6e 63 74 69 6f 6e 20 27 77 69 74 68 2d 6d 6f 63 6b 29 0a 3b 3b 20 5b 45 56 41 4c 20 49 | -function.'with-mock).;;.[EVAL.I |
| 0fc0 | 54 5d 20 28 64 65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e 20 27 6d 6f 63 6b 6c 65 74 29 0a | T].(describe-function.'mocklet). |
| 0fe0 | 3b 3b 20 5b 45 56 41 4c 20 49 54 5d 20 28 64 65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e 20 | ;;.[EVAL.IT].(describe-function. |
| 1000 | 27 73 74 75 62 29 0a 3b 3b 20 5b 45 56 41 4c 20 49 54 5d 20 28 64 65 73 63 72 69 62 65 2d 66 75 | 'stub).;;.[EVAL.IT].(describe-fu |
| 1020 | 6e 63 74 69 6f 6e 20 27 6d 6f 63 6b 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 | nction.'mock)..;;;.Code:..(requi |
| 1040 | 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 61 64 76 69 63 65 29 0a 0a 28 | re.'cl-lib).(require.'advice)..( |
| 1060 | 64 65 66 76 61 72 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a 28 | defvar.-stubbed-functions.nil).( |
| 1080 | 64 65 66 76 61 72 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a 28 64 | defvar.-mocked-functions.nil).(d |
| 10a0 | 65 66 76 61 72 20 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 20 6e 69 6c 29 0a 28 64 65 66 | efvar.mock-verify-list.nil).(def |
| 10c0 | 76 61 72 20 69 6e 2d 6d 6f 63 6b 69 6e 67 20 6e 69 6c 29 0a 0a 3b 3b 3b 3b 20 73 74 75 62 20 73 | var.in-mocking.nil)..;;;;.stub.s |
| 10e0 | 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28 64 65 66 75 6e 20 73 74 75 62 2f 73 65 74 75 70 20 | etup/teardown.(defun.stub/setup. |
| 1100 | 28 66 75 6e 63 73 79 6d 20 76 61 6c 75 65 29 0a 20 20 28 6d 6f 63 6b 2d 73 75 70 70 72 65 73 73 | (funcsym.value)...(mock-suppress |
| 1120 | 2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20 20 28 6c 61 6d 62 64 61 | -redefinition-message....(lambda |
| 1140 | 20 28 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 66 75 6e 63 73 79 6d 29 | .()......(when.(fboundp.funcsym) |
| 1160 | 0a 20 20 20 20 20 20 20 28 70 75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72 69 67 69 | ........(put.funcsym.'mock-origi |
| 1180 | 6e 61 6c 2d 66 75 6e 63 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 73 79 | nal-func.(symbol-function.funcsy |
| 11a0 | 6d 29 29 29 0a 20 20 20 20 20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 20 60 28 6c 61 6d 62 64 61 | m)))......(fset.funcsym.`(lambda |
| 11c0 | 20 28 26 72 65 73 74 20 78 29 20 2c 76 61 6c 75 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 | .(&rest.x).,value)))))..(defun.s |
| 11e0 | 74 75 62 2f 74 65 61 72 64 6f 77 6e 20 28 66 75 6e 63 73 79 6d 29 0a 20 20 28 6d 6f 63 6b 2d 73 | tub/teardown.(funcsym)...(mock-s |
| 1200 | 75 70 70 72 65 73 73 2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20 20 | uppress-redefinition-message.... |
| 1220 | 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 28 6c 65 74 20 28 28 66 75 6e 63 20 28 67 65 74 | (lambda.()......(let.((func.(get |
| 1240 | 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 29 29 29 0a | .funcsym.'mock-original-func))). |
| 1260 | 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 | .......(if.(not.func)........... |
| 1280 | 20 28 66 6d 61 6b 75 6e 62 6f 75 6e 64 20 66 75 6e 63 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 | .(fmakunbound.funcsym).......... |
| 12a0 | 28 66 73 65 74 20 66 75 6e 63 73 79 6d 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 | (fset.funcsym.func)..........;;. |
| 12c0 | 6d 61 79 20 62 65 20 75 6e 61 64 76 69 63 65 64 0a 20 20 20 20 20 20 20 20 20 29 29 29 29 29 0a | may.be.unadviced..........))))). |
| 12e0 | 20 20 20 20 0a 3b 3b 3b 3b 20 6d 6f 63 6b 20 73 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28 64 | .....;;;;.mock.setup/teardown.(d |
| 1300 | 65 66 75 6e 20 6d 6f 63 6b 2f 73 65 74 75 70 20 28 66 75 6e 63 2d 73 70 65 63 20 76 61 6c 75 65 | efun.mock/setup.(func-spec.value |
| 1320 | 20 74 69 6d 65 73 29 0a 20 20 28 6d 6f 63 6b 2d 73 75 70 70 72 65 73 73 2d 72 65 64 65 66 69 6e | .times)...(mock-suppress-redefin |
| 1340 | 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 | ition-message....(lambda.()..... |
| 1360 | 20 28 6c 65 74 20 28 28 66 75 6e 63 73 79 6d 20 28 63 61 72 20 66 75 6e 63 2d 73 70 65 63 29 29 | .(let.((funcsym.(car.func-spec)) |
| 1380 | 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 66 75 6e 63 73 79 6d 29 | )........(when.(fboundp.funcsym) |
| 13a0 | 0a 20 20 20 20 20 20 20 20 20 28 70 75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72 69 | ..........(put.funcsym.'mock-ori |
| 13c0 | 67 69 6e 61 6c 2d 66 75 6e 63 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 | ginal-func.(symbol-function.func |
| 13e0 | 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 28 70 75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b | sym)))........(put.funcsym.'mock |
| 1400 | 2d 63 61 6c 6c 2d 63 6f 75 6e 74 20 30 29 0a 20 20 20 20 20 20 20 28 66 73 65 74 20 66 75 6e 63 | -call-count.0)........(fset.func |
| 1420 | 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c 61 6d 62 64 | sym......................`(lambd |
| 1440 | 61 20 28 26 72 65 73 74 20 61 63 74 75 61 6c 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 | a.(&rest.actual-args)........... |
| 1460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 28 67 65 74 20 27 2c 66 75 | ..............(cl-incf.(get.',fu |
| 1480 | 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 | ncsym.'mock-call-count))........ |
| 14a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6d | .................(add-to-list.'m |
| 14c0 | 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ock-verify-list................. |
| 14e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 2c 66 75 6e | .....................(list.',fun |
| 1500 | 63 73 79 6d 20 27 2c 28 63 64 72 20 66 75 6e 63 2d 73 70 65 63 29 20 61 63 74 75 61 6c 2d 61 72 | csym.',(cdr.func-spec).actual-ar |
| 1520 | 67 73 20 2c 74 69 6d 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gs.,times))..................... |
| 1540 | 20 20 20 20 2c 76 61 6c 75 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 74 2d 63 61 6c | ....,value))))))..(defun.not-cal |
| 1560 | 6c 65 64 2f 73 65 74 75 70 20 28 66 75 6e 63 73 79 6d 29 0a 20 20 28 6d 6f 63 6b 2d 73 75 70 70 | led/setup.(funcsym)...(mock-supp |
| 1580 | 72 65 73 73 2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 0a 20 20 20 28 6c 61 | ress-redefinition-message....(la |
| 15a0 | 6d 62 64 61 20 28 29 0a 20 20 20 20 20 28 6c 65 74 20 28 29 0a 20 20 20 20 20 20 20 28 77 68 65 | mbda.()......(let.()........(whe |
| 15c0 | 6e 20 28 66 62 6f 75 6e 64 70 20 66 75 6e 63 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 | n.(fboundp.funcsym)..........(pu |
| 15e0 | 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 20 28 73 | t.funcsym.'mock-original-func.(s |
| 1600 | 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 73 79 6d 29 29 29 0a 20 20 20 20 20 20 | ymbol-function.funcsym)))....... |
| 1620 | 20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(fset.funcsym.................. |
| 1640 | 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 61 63 74 75 61 6c 2d 61 72 67 73 29 | ....(lambda.(&rest._actual-args) |
| 1660 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 | ........................(signal. |
| 1680 | 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 27 28 63 61 6c 6c 65 64 29 29 29 29 29 29 29 29 0a 0a 28 64 | 'mock-error.'(called))))))))..(d |
| 16a0 | 65 66 61 6c 69 61 73 20 27 6d 6f 63 6b 2f 74 65 61 72 64 6f 77 6e 20 27 73 74 75 62 2f 74 65 61 | efalias.'mock/teardown.'stub/tea |
| 16c0 | 72 64 6f 77 6e 29 0a 0a 3b 3b 3b 3b 20 6d 6f 63 6b 20 76 65 72 69 66 79 0a 28 70 75 74 20 27 6d | rdown)..;;;;.mock.verify.(put.'m |
| 16e0 | 6f 63 6b 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 6d 6f | ock-error.'error-conditions.'(mo |
| 1700 | 63 6b 2d 65 72 72 6f 72 20 65 72 72 6f 72 29 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 65 72 72 6f | ck-error.error)).(put.'mock-erro |
| 1720 | 72 20 27 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 22 4d 6f 63 6b 20 65 72 72 6f 72 22 29 0a 28 | r.'error-message."Mock.error").( |
| 1740 | 64 65 66 75 6e 20 6d 6f 63 6b 2d 76 65 72 69 66 79 20 28 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 | defun.mock-verify.()...(cl-loop. |
| 1760 | 66 6f 72 20 66 20 69 6e 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 | for.f.in.-mocked-functions...... |
| 1780 | 20 20 20 20 20 20 77 68 65 6e 20 28 65 71 75 61 6c 20 30 20 28 67 65 74 20 66 20 27 6d 6f 63 6b | ......when.(equal.0.(get.f.'mock |
| 17a0 | 2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 69 67 | -call-count))............do.(sig |
| 17c0 | 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 27 6e 6f 74 2d 63 61 6c 6c 65 | nal.'mock-error.(list.'not-calle |
| 17e0 | 64 20 66 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 61 72 67 73 20 69 6e 20 6d 6f | d.f)))...(cl-loop.for.args.in.mo |
| 1800 | 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 | ck-verify-list............do.... |
| 1820 | 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72 67 73 | ........(apply.'mock-verify-args |
| 1840 | 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72 67 | .args)))..(defun.mock-verify-arg |
| 1860 | 73 20 28 66 75 6e 63 73 79 6d 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 20 61 63 74 75 61 6c 2d | s.(funcsym.expected-args.actual- |
| 1880 | 61 72 67 73 20 65 78 70 65 63 74 65 64 2d 74 69 6d 65 73 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 | args.expected-times)...(unless.( |
| 18a0 | 3d 20 28 6c 65 6e 67 74 68 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 29 20 28 6c 65 6e 67 74 68 | =.(length.expected-args).(length |
| 18c0 | 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b | .actual-args)).....(signal.'mock |
| 18e0 | 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 | -error.(list.(cons.funcsym.expec |
| 1900 | 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ted-args)....................... |
| 1920 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 73 79 6d 20 61 63 74 75 61 6c 2d 61 72 67 | ........(cons.funcsym.actual-arg |
| 1940 | 73 29 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 65 20 69 6e 20 65 78 70 65 63 74 | s))))...(cl-loop.for.e.in.expect |
| 1960 | 65 64 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 20 69 6e 20 61 63 74 75 | ed-args............for.a.in.actu |
| 1980 | 61 6c 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 | al-args............do........... |
| 19a0 | 20 28 75 6e 6c 65 73 73 20 28 65 71 20 65 20 27 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(unless.(eq.e.'*).............. |
| 19c0 | 20 3b 20 60 2a 27 20 69 73 20 77 69 6c 64 63 61 72 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 | .;.`*'.is.wildcard.argument..... |
| 19e0 | 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 65 76 61 6c 20 65 29 | .........(unless.(equal.(eval.e) |
| 1a00 | 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b | .a)................(signal.'mock |
| 1a20 | 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 | -error.(list.(cons.funcsym.expec |
| 1a40 | 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ted-args)....................... |
| 1a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 75 6e 63 73 79 6d | ...................(cons.funcsym |
| 1a80 | 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 63 74 75 | .actual-args))))))...(let.((actu |
| 1aa0 | 61 6c 2d 74 69 6d 65 73 20 28 6f 72 20 28 67 65 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d | al-times.(or.(get.funcsym.'mock- |
| 1ac0 | 63 61 6c 6c 2d 63 6f 75 6e 74 29 20 30 29 29 29 0a 20 20 20 20 28 61 6e 64 20 65 78 70 65 63 74 | call-count).0))).....(and.expect |
| 1ae0 | 65 64 2d 74 69 6d 65 73 20 28 2f 3d 20 65 78 70 65 63 74 65 64 2d 74 69 6d 65 73 20 61 63 74 75 | ed-times.(/=.expected-times.actu |
| 1b00 | 61 6c 2d 74 69 6d 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b | al-times)..........(signal.'mock |
| 1b20 | 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 | -error.(list.(cons.funcsym.expec |
| 1b40 | 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ted-args)....................... |
| 1b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 78 70 65 63 74 65 64 2d 74 69 6d 65 73 20 65 78 70 | .............:expected-times.exp |
| 1b80 | 65 63 74 65 64 2d 74 69 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ected-times..................... |
| 1ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 63 74 75 61 6c 2d 74 69 6d 65 73 20 61 63 74 | ...............:actual-times.act |
| 1bc0 | 75 61 6c 2d 74 69 6d 65 73 29 29 29 29 29 0a 3b 3b 3b 3b 20 73 74 75 62 2f 6d 6f 63 6b 20 70 72 | ual-times))))).;;;;.stub/mock.pr |
| 1be0 | 6f 76 69 64 65 72 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 70 72 6f 74 65 63 74 20 28 62 6f 64 79 | ovider.(defun.mock-protect.(body |
| 1c00 | 2d 66 6e 29 0a 20 20 22 54 68 65 20 73 75 62 73 74 61 6e 63 65 20 6f 66 20 60 77 69 74 68 2d 6d | -fn)..."The.substance.of.`with-m |
| 1c20 | 6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 50 72 65 70 61 72 65 20 66 6f 72 20 6d 6f 63 6b 2f 73 74 75 | ock'.macro..Prepare.for.mock/stu |
| 1c40 | 62 2c 20 63 61 6c 6c 20 42 4f 44 59 2d 46 4e 2c 20 61 6e 64 20 74 65 61 72 64 6f 77 6e 20 6d 6f | b,.call.BODY-FN,.and.teardown.mo |
| 1c60 | 63 6b 2f 73 74 75 62 2e 0a 0a 46 6f 72 20 64 65 76 65 6c 6f 70 65 72 3a 0a 57 68 65 6e 20 79 6f | ck/stub...For.developer:.When.yo |
| 1c80 | 75 20 61 64 61 70 74 20 45 6d 61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 74 6f 20 61 20 74 65 73 | u.adapt.Emacs.Lisp.Mock.to.a.tes |
| 1ca0 | 74 69 6e 67 20 66 72 61 6d 65 77 6f 72 6b 2c 0a 77 72 61 70 20 74 65 73 74 20 6d 65 74 68 6f 64 | ting.framework,.wrap.test.method |
| 1cc0 | 20 61 72 6f 75 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 | .around.this.function."...(let.( |
| 1ce0 | 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 2d 73 74 75 62 62 65 | mock-verify-list.........-stubbe |
| 1d00 | 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 | d-functions.........-mocked-func |
| 1d20 | 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 28 69 6e 2d 6d 6f 63 6b 69 6e 67 20 74 29 0a 20 20 20 | tions.........(in-mocking.t).... |
| 1d40 | 20 20 20 20 20 28 61 6e 79 2d 65 72 72 6f 72 20 74 29 29 0a 20 20 20 20 3b 3b 20 28 73 65 74 70 | .....(any-error.t)).....;;.(setp |
| 1d60 | 6c 69 73 74 20 27 6d 6f 63 6b 2d 6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 20 6e 69 6c 29 0a 20 20 | list.'mock-original-func.nil)... |
| 1d80 | 20 20 3b 3b 20 28 73 65 74 70 6c 69 73 74 20 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 20 | ..;;.(setplist.'mock-call-count. |
| 1da0 | 6e 69 6c 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 | nil).....(unwind-protect........ |
| 1dc0 | 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f 64 | .(prog1.............(funcall.bod |
| 1de0 | 79 2d 66 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 6e 79 2d 65 72 72 6f 72 20 | y-fn)...........(setq.any-error. |
| 1e00 | 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 6d 61 70 63 20 23 27 73 74 75 62 2f 74 65 61 72 64 6f 77 | nil)).......(mapc.#'stub/teardow |
| 1e20 | 6e 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 28 75 6e 77 | n.-stubbed-functions).......(unw |
| 1e40 | 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 61 6e | ind-protect...........(unless.an |
| 1e60 | 79 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 63 6b 2d 76 65 72 69 66 79 | y-error.............(mock-verify |
| 1e80 | 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 23 27 6d 6f 63 6b 2f 74 65 61 72 64 6f 77 6e | )).........(mapc.#'mock/teardown |
| 1ea0 | 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 6d 65 | .-mocked-functions)))))..;;;;.me |
| 1ec0 | 73 73 61 67 65 20 68 61 63 6b 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 73 75 70 70 72 65 73 73 2d | ssage.hack.(defun.mock-suppress- |
| 1ee0 | 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65 73 73 61 67 65 20 28 66 75 6e 63 29 0a 20 20 22 45 | redefinition-message.(func)..."E |
| 1f00 | 72 61 73 65 20 5c 22 61 64 2d 68 61 6e 64 6c 65 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 20 60 25 73 | rase.\"ad-handle-definition:.`%s |
| 1f20 | 27 20 67 6f 74 20 72 65 64 65 66 69 6e 65 64 5c 22 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28 66 | '.got.redefined\".message."...(f |
| 1f40 | 75 6e 63 61 6c 6c 20 66 75 6e 63 29 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d | uncall.func)).(put.'mock-syntax- |
| 1f60 | 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 6d 6f 63 6b 2d 73 | error.'error-conditions.'(mock-s |
| 1f80 | 79 6e 74 61 78 2d 65 72 72 6f 72 20 65 72 72 6f 72 29 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 73 | yntax-error.error)).(put.'mock-s |
| 1fa0 | 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 20 22 4d 6f 63 6b | yntax-error.'error-message."Mock |
| 1fc0 | 20 73 79 6e 74 61 78 20 65 72 72 6f 72 22 29 0a 0a 3b 3b 3b 3b 20 55 73 65 72 20 69 6e 74 65 72 | .syntax.error")..;;;;.User.inter |
| 1fe0 | 66 61 63 65 0a 28 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 6d 6f 63 6b 20 28 26 72 65 73 74 20 | face.(defmacro.with-mock.(&rest. |
| 2000 | 62 6f 64 79 29 0a 20 20 22 45 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 4f | body)..."Execute.the.forms.in.BO |
| 2020 | 44 59 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 60 6d 6f 63 6b 27 20 61 6e 64 20 60 73 74 75 62 | DY..You.can.use.`mock'.and.`stub |
| 2040 | 27 20 69 6e 20 42 4f 44 59 2e 0a 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 | '.in.BODY..The.value.returned.is |
| 2060 | 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 | .the.value.of.the.last.form.in.B |
| 2080 | 4f 44 59 2e 0a 41 66 74 65 72 20 65 78 65 63 75 74 69 6e 67 20 42 4f 44 59 2c 20 6d 6f 63 6b 73 | ODY..After.executing.BODY,.mocks |
| 20a0 | 20 61 6e 64 20 73 74 75 62 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 | .and.stubs.are.guaranteed.to.be. |
| 20c0 | 72 65 6c 65 61 73 65 64 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b | released...Example:...(with-mock |
| 20e0 | 0a 20 20 20 20 28 73 74 75 62 20 66 6f 6f 7a 20 3d 3e 20 32 29 0a 20 20 20 20 28 66 6f 6f 7a 20 | .....(stub.fooz.=>.2).....(fooz. |
| 2100 | 39 39 39 39 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 3d 3e 20 32 0a 22 | 9999))..................;.=>.2." |
| 2120 | 0a 20 20 60 28 6d 6f 63 6b 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 | ...`(mock-protect.....(lambda.() |
| 2140 | 20 2c 40 62 6f 64 79 29 29 29 0a 28 64 65 66 61 6c 69 61 73 20 27 77 69 74 68 2d 73 74 75 62 20 | .,@body))).(defalias.'with-stub. |
| 2160 | 27 77 69 74 68 2d 6d 6f 63 6b 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 73 74 75 62 20 28 66 75 6e | 'with-mock)..(defmacro.stub.(fun |
| 2180 | 63 74 69 6f 6e 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 74 | ction.&rest.rest)..."Create.a.st |
| 21a0 | 75 62 20 66 6f 72 20 46 55 4e 43 54 49 4f 4e 2e 0a 53 74 75 62 73 20 61 72 65 20 74 65 6d 70 6f | ub.for.FUNCTION..Stubs.are.tempo |
| 21c0 | 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 61 63 63 65 70 74 20 61 6e 79 20 | rary.functions.which.accept.any. |
| 21e0 | 61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76 61 | arguments.and.return.constant.va |
| 2200 | 6c 75 65 2e 0a 53 74 75 62 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20 60 | lue..Stubs.are.removed.outside.` |
| 2220 | 77 69 74 68 2d 6d 6f 63 6b 27 20 28 60 77 69 74 68 2d 73 74 75 62 27 20 69 73 20 61 6e 20 61 6c | with-mock'.(`with-stub'.is.an.al |
| 2240 | 69 61 73 29 20 61 6e 64 20 60 6d 6f 63 6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a 0a 2a | ias).and.`mocklet'...Synopsis:.* |
| 2260 | 20 28 73 74 75 62 20 46 55 4e 43 54 49 4f 4e 29 0a 20 20 43 72 65 61 74 65 20 61 20 46 55 4e 43 | .(stub.FUNCTION)...Create.a.FUNC |
| 2280 | 54 49 4f 4e 20 73 74 75 62 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 2a 20 28 | TION.stub.which.returns.nil..*.( |
| 22a0 | 73 74 75 62 20 46 55 4e 43 54 49 4f 4e 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 0a 20 | stub.FUNCTION.=>.RETURN-VALUE).. |
| 22c0 | 20 43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f 4e 20 73 74 75 62 20 77 68 69 63 68 20 72 65 | .Create.a.FUNCTION.stub.which.re |
| 22e0 | 74 75 72 6e 73 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 2e 0a 0a 52 45 54 55 52 4e 2d 56 41 4c 55 | turns.RETURN-VALUE...RETURN-VALU |
| 2300 | 45 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 74 68 | E.is.evaluated.when.executing.th |
| 2320 | 65 20 6d 6f 63 6b 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 28 | e.mocked.function...Example:...( |
| 2340 | 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 73 74 75 62 20 66 6f 6f 29 0a 20 20 20 20 28 73 74 | with-mock.....(stub.foo).....(st |
| 2360 | 75 62 20 62 61 72 20 3d 3e 20 31 29 0a 20 20 20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 66 6f 6f | ub.bar.=>.1).....(and.(null.(foo |
| 2380 | 29 29 20 28 3d 20 28 62 61 72 20 37 29 20 31 29 29 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a 22 0a | )).(=.(bar.7).1))).....;.=>.t.". |
| 23a0 | 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 63 6f 6e 64 20 28 28 70 6c 69 73 74 2d 67 65 74 | ..(let.((value.(cond.((plist-get |
| 23c0 | 20 72 65 73 74 20 27 3d 3e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .rest.'=>))..................... |
| 23e0 | 20 28 28 6d 65 6d 71 20 27 3d 3e 20 72 65 73 74 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 | .((memq.'=>.rest).nil).......... |
| 2400 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 72 65 73 74 29 20 6e 69 6c 29 0a 20 20 | ............((null.rest).nil)... |
| 2420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27 6d | ...................(t.(signal.'m |
| 2440 | 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 28 22 55 73 65 20 60 28 73 74 75 62 20 46 | ock-syntax-error.'("Use.`(stub.F |
| 2460 | 55 4e 43 29 27 20 6f 72 20 60 28 73 74 75 62 20 46 55 4e 43 20 3d 3e 20 52 45 54 55 52 4e 2d 56 | UNC)'.or.`(stub.FUNC.=>.RETURN-V |
| 2480 | 41 4c 55 45 29 27 22 29 29 29 29 29 29 0a 20 20 20 20 60 28 69 66 20 28 6e 6f 74 20 69 6e 2d 6d | ALUE)'")))))).....`(if.(not.in-m |
| 24a0 | 6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 20 | ocking)..........(error."Do.not. |
| 24c0 | 75 73 65 20 60 73 74 75 62 27 20 6f 75 74 73 69 64 65 22 29 0a 20 20 20 20 20 20 20 28 73 74 75 | use.`stub'.outside")........(stu |
| 24e0 | 62 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 74 69 6f 6e 20 27 2c 76 61 6c 75 65 29 0a 20 20 20 20 | b/setup.',function.',value)..... |
| 2500 | 20 20 20 28 70 75 73 68 20 27 2c 66 75 6e 63 74 69 6f 6e 20 2d 73 74 75 62 62 65 64 2d 66 75 6e | ...(push.',function.-stubbed-fun |
| 2520 | 63 74 69 6f 6e 73 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6d 6f 63 6b 20 28 66 75 6e 63 | ctions))))..(defmacro.mock.(func |
| 2540 | 2d 73 70 65 63 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 20 20 22 43 72 65 61 74 65 20 61 20 | -spec.&rest.rest)....."Create.a. |
| 2560 | 6d 6f 63 6b 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 64 20 62 79 20 46 | mock.for.function.described.by.F |
| 2580 | 55 4e 43 2d 53 50 45 43 2e 0a 4d 6f 63 6b 73 20 61 72 65 20 74 65 6d 70 6f 72 61 72 79 20 66 75 | UNC-SPEC..Mocks.are.temporary.fu |
| 25a0 | 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 61 63 63 65 70 74 20 73 70 65 63 69 66 69 65 64 20 61 | nctions.which.accept.specified.a |
| 25c0 | 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76 61 6c | rguments.and.return.constant.val |
| 25e0 | 75 65 2e 0a 49 66 20 6d 6f 63 6b 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 | ue..If.mocked.functions.are.not. |
| 2600 | 63 61 6c 6c 65 64 20 6f 72 20 63 61 6c 6c 65 64 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 61 72 | called.or.called.by.different.ar |
| 2620 | 67 75 6d 65 6e 74 73 2c 0a 61 6e 20 60 6d 6f 63 6b 2d 65 72 72 6f 72 27 20 6f 63 63 75 72 73 2e | guments,.an.`mock-error'.occurs. |
| 2640 | 0a 4d 6f 63 6b 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20 60 77 69 74 68 | .Mocks.are.removed.outside.`with |
| 2660 | 2d 6d 6f 63 6b 27 20 61 6e 64 20 60 6d 6f 63 6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a | -mock'.and.`mocklet'...Synopsis: |
| 2680 | 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 29 0a 20 20 43 | .*.(mock.(FUNCTION.ARGS...))...C |
| 26a0 | 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f 4e 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74 75 | reate.a.FUNCTION.mock.which.retu |
| 26c0 | 72 6e 73 20 6e 69 6c 2e 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e | rns.nil..*.(mock.(FUNCTION.ARGS. |
| 26e0 | 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 0a 20 20 43 72 65 61 74 65 20 61 20 | ..).=>.RETURN-VALUE)...Create.a. |
| 2700 | 46 55 4e 43 54 49 4f 4e 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54 55 | FUNCTION.mock.which.returns.RETU |
| 2720 | 52 4e 2d 56 41 4c 55 45 2e 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 | RN-VALUE..*.(mock.(FUNCTION.ARGS |
| 2740 | 2e 2e 2e 29 20 3a 74 69 6d 65 73 20 4e 29 0a 20 20 46 55 4e 43 54 49 4f 4e 20 6d 75 73 74 20 62 | ...).:times.N)...FUNCTION.must.b |
| 2760 | 65 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 2e 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54 | e.called.N.times..*.(mock.(FUNCT |
| 2780 | 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 3a 74 69 | ION.ARGS...).=>.RETURN-VALUE.:ti |
| 27a0 | 6d 65 73 20 4e 29 0a 20 20 43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f 4e 20 6d 6f 63 6b 20 | mes.N)...Create.a.FUNCTION.mock. |
| 27c0 | 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 2e 0a 20 20 46 55 | which.returns.RETURN-VALUE....FU |
| 27e0 | 4e 43 54 49 4f 4e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 2e 0a 0a | NCTION.must.be.called.N.times... |
| 2800 | 57 69 6c 64 63 61 72 64 3a 0a 54 68 65 20 60 2a 27 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 73 | Wildcard:.The.`*'.is.a.special.s |
| 2820 | 79 6d 62 6f 6c 3a 20 69 74 20 61 63 63 65 70 74 73 20 61 6e 79 20 76 61 6c 75 65 20 66 6f 72 20 | ymbol:.it.accepts.any.value.for. |
| 2840 | 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 41 52 47 53 20 74 68 | that.argument.position...ARGS.th |
| 2860 | 61 74 20 61 72 65 20 6e 6f 74 20 60 2a 27 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 77 68 65 | at.are.not.`*'.are.evaluated.whe |
| 2880 | 6e 20 74 68 65 20 6d 6f 63 6b 20 69 73 20 76 65 72 69 66 69 65 64 2c 0a 69 2e 65 2e 20 75 70 6f | n.the.mock.is.verified,.i.e..upo |
| 28a0 | 6e 20 6c 65 61 76 69 6e 67 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 60 77 69 74 68 2d 6d 6f | n.leaving.the.enclosing.`with-mo |
| 28c0 | 63 6b 27 20 66 6f 72 6d 2e 20 20 41 52 47 53 20 61 72 65 0a 65 76 61 6c 75 61 74 65 64 20 75 73 | ck'.form...ARGS.are.evaluated.us |
| 28e0 | 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 6e 67 2e 20 20 54 68 65 20 52 45 54 55 52 4e | ing.dynamic.scoping...The.RETURN |
| 2900 | 2d 56 41 4c 55 45 20 69 73 20 65 76 61 6c 75 61 74 65 64 0a 77 68 65 6e 20 65 78 65 63 75 74 69 | -VALUE.is.evaluated.when.executi |
| 2920 | 6e 67 20 74 68 65 20 6d 6f 63 6b 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 45 78 61 6d 70 6c 65 | ng.the.mocked.function...Example |
| 2940 | 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6d 6f 63 6b 20 28 66 20 2a 20 32 29 | :...(with-mock.....(mock.(f.*.2) |
| 2960 | 20 3d 3e 20 33 29 0a 20 20 20 20 28 6d 6f 63 6b 20 28 67 20 33 29 29 0a 20 20 20 20 28 61 6e 64 | .=>.3).....(mock.(g.3)).....(and |
| 2980 | 20 28 3d 20 28 66 20 39 20 32 29 20 33 29 20 28 6e 75 6c 6c 20 28 67 20 33 29 29 29 29 20 20 20 | .(=.(f.9.2).3).(null.(g.3))))... |
| 29a0 | 20 20 3b 20 3d 3e 20 74 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6d 6f 63 6b 20 | ..;.=>.t...(with-mock.....(mock. |
| 29c0 | 28 67 20 33 29 29 0a 20 20 20 20 28 67 20 37 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (g.3)).....(g.7))............... |
| 29e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 28 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 | .................;.(mock-error.( |
| 2a00 | 67 20 33 29 20 28 67 20 37 29 29 0a 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 69 6d 65 73 20 28 70 | g.3).(g.7))."...(let*.((times.(p |
| 2a20 | 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 74 69 6d 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 | list-get.rest.:times)).......... |
| 2a40 | 28 76 61 6c 75 65 20 28 63 6f 6e 64 20 28 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 27 3d | (value.(cond.((plist-get.rest.'= |
| 2a60 | 3e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 | >)).......................((memq |
| 2a80 | 20 27 3d 3e 20 72 65 73 74 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'=>.rest).nil)................. |
| 2aa0 | 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 72 65 73 74 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | ......((null.rest).nil)......... |
| 2ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 74 69 6d 65 73 29 20 28 73 69 67 6e | ..............((not.times).(sign |
| 2ae0 | 61 6c 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 28 22 55 73 65 20 60 28 6d | al.'mock-syntax-error.'("Use.`(m |
| 2b00 | 6f 63 6b 20 46 55 4e 43 2d 53 50 45 43 29 27 20 6f 72 20 60 28 6d 6f 63 6b 20 46 55 4e 43 2d 53 | ock.FUNC-SPEC)'.or.`(mock.FUNC-S |
| 2b20 | 50 45 43 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 27 22 29 29 29 29 29 29 0a 20 20 20 | PEC.=>.RETURN-VALUE)'")))))).... |
| 2b40 | 20 60 28 69 66 20 28 6e 6f 74 20 69 6e 2d 6d 6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 | .`(if.(not.in-mocking).......... |
| 2b60 | 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 20 75 73 65 20 60 6d 6f 63 6b 27 20 6f 75 74 73 69 64 | (error."Do.not.use.`mock'.outsid |
| 2b80 | 65 22 29 0a 20 20 20 20 20 20 20 28 6d 6f 63 6b 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 2d 73 70 | e")........(mock/setup.',func-sp |
| 2ba0 | 65 63 20 27 2c 76 61 6c 75 65 20 2c 74 69 6d 65 73 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 | ec.',value.,times)........(push. |
| 2bc0 | 27 2c 28 63 61 72 20 66 75 6e 63 2d 73 70 65 63 29 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 | ',(car.func-spec).-mocked-functi |
| 2be0 | 6f 6e 73 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 28 66 | ons))))..(defmacro.not-called.(f |
| 2c00 | 75 6e 63 74 69 6f 6e 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 | unction)..."Create.a.not-called. |
| 2c20 | 6d 6f 63 6b 20 66 6f 72 20 46 55 4e 43 54 49 4f 4e 2e 0a 4e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f | mock.for.FUNCTION..Not-called.mo |
| 2c40 | 63 6b 73 20 61 72 65 20 74 65 6d 70 6f 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 | cks.are.temporary.functions.whic |
| 2c60 | 68 20 72 61 69 73 65 73 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 63 61 6c 6c 65 64 2e 0a 49 | h.raises.an.error.when.called..I |
| 2c80 | 66 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 | f.not-called.functions.are.calle |
| 2ca0 | 64 2c 20 61 6e 20 60 6d 6f 63 6b 2d 65 72 72 6f 72 27 20 6f 63 63 75 72 73 2e 0a 4e 6f 74 2d 63 | d,.an.`mock-error'.occurs..Not-c |
| 2cc0 | 61 6c 6c 65 64 20 6d 6f 63 6b 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20 | alled.mocks.are.removed.outside. |
| 2ce0 | 60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64 20 60 6d 6f 63 6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f | `with-mock'.and.`mocklet'...Syno |
| 2d00 | 70 73 69 73 3a 0a 2a 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 20 46 55 4e 43 54 49 4f 4e 29 0a 20 20 | psis:.*.(not-called.FUNCTION)... |
| 2d20 | 43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f 63 | Create.a.FUNCTION.not-called.moc |
| 2d40 | 6b 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6e | k...Example:...(with-mock.....(n |
| 2d60 | 6f 74 2d 63 61 6c 6c 65 64 20 66 29 0a 20 20 20 20 74 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a 20 | ot-called.f).....t).....;.=>.t.. |
| 2d80 | 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 20 67 29 0a 20 | .(with-mock.....(not-called.g).. |
| 2da0 | 20 20 20 28 67 20 37 29 29 20 3b 20 3d 3e 20 28 6d 6f 63 6b 2d 65 72 72 6f 72 20 63 61 6c 6c 65 | ...(g.7)).;.=>.(mock-error.calle |
| 2dc0 | 64 29 0a 22 0a 20 20 28 6c 65 74 20 28 29 0a 20 20 20 20 60 28 69 66 20 28 6e 6f 74 20 69 6e 2d | d)."...(let.().....`(if.(not.in- |
| 2de0 | 6d 6f 63 6b 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 | mocking)..........(error."Do.not |
| 2e00 | 20 75 73 65 20 60 6e 6f 74 2d 63 61 6c 6c 65 64 27 20 6f 75 74 73 69 64 65 22 29 0a 20 20 20 20 | .use.`not-called'.outside")..... |
| 2e20 | 20 20 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 74 69 6f 6e 29 | ...(not-called/setup.',function) |
| 2e40 | 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 27 2c 66 75 6e 63 74 69 6f 6e 20 2d 6d 6f 63 6b 65 64 | ........(push.',function.-mocked |
| 2e60 | 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 70 61 72 | -functions))))...(defun.mock-par |
| 2e80 | 73 65 2d 73 70 65 63 20 28 73 70 65 63 29 0a 20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 0a 20 20 | se-spec.(spec)...(cons.'progn... |
| 2ea0 | 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 72 67 73 29 0a 20 20 20 | ......(mapcar.(lambda.(args).... |
| 2ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 64 72 20 61 72 67 | ...............(if.(eq.(cadr.arg |
| 2ee0 | 73 29 20 27 6e 6f 74 2d 63 61 6c 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s).'not-called)................. |
| 2f00 | 20 20 20 20 20 20 60 28 6e 6f 74 2d 63 61 6c 6c 65 64 20 2c 28 63 61 72 20 61 72 67 73 29 29 0a | ......`(not-called.,(car.args)). |
| 2f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 28 63 | ....................(cons.(if.(c |
| 2f40 | 6f 6e 73 70 20 28 63 61 72 20 61 72 67 73 29 29 20 27 6d 6f 63 6b 20 27 73 74 75 62 29 0a 20 20 | onsp.(car.args)).'mock.'stub)... |
| 2f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 29 29 0a 20 20 | ......................args)))... |
| 2f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 6f | ..............spec)))..(defun.mo |
| 2fa0 | 63 6b 6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20 28 73 70 65 63 20 62 6f 64 79 2d 66 75 6e 63 29 0a | cklet-function.(spec.body-func). |
| 2fc0 | 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 65 76 61 6c 20 28 6d 6f 63 6b 2d 70 61 72 | ..(with-mock.....(eval.(mock-par |
| 2fe0 | 73 65 2d 73 70 65 63 20 73 70 65 63 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f 64 79 | se-spec.spec)).....(funcall.body |
| 3000 | 2d 66 75 6e 63 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 6d 6f 63 6b 6c 65 74 20 28 73 70 65 | -func)))..(defmacro.mocklet.(spe |
| 3020 | 63 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 60 6c 65 74 27 2d 6c 69 6b 65 20 | clist.&rest.body)..."`let'-like. |
| 3040 | 69 6e 74 65 72 66 61 63 65 20 6f 66 20 60 77 69 74 68 2d 6d 6f 63 6b 27 2c 20 60 6d 6f 63 6b 27 | interface.of.`with-mock',.`mock' |
| 3060 | 2c 20 60 6e 6f 74 2d 63 61 6c 6c 65 64 27 20 61 6e 64 20 60 73 74 75 62 27 2e 0a 0a 43 72 65 61 | ,.`not-called'.and.`stub'...Crea |
| 3080 | 74 65 20 6d 6f 63 6b 73 20 61 6e 64 20 73 74 75 62 73 20 64 65 73 63 72 69 62 65 64 20 62 79 20 | te.mocks.and.stubs.described.by. |
| 30a0 | 53 50 45 43 4c 49 53 54 20 74 68 65 6e 20 65 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73 20 | SPECLIST.then.execute.the.forms. |
| 30c0 | 69 6e 20 42 4f 44 59 2e 0a 53 50 45 43 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6d | in.BODY..SPECLIST.is.a.list.of.m |
| 30e0 | 6f 63 6b 2f 6e 6f 74 2d 63 61 6c 6c 65 64 2f 73 74 75 62 20 73 70 65 63 2e 0a 54 68 65 20 76 61 | ock/not-called/stub.spec..The.va |
| 3100 | 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 | lue.returned.is.the.value.of.the |
| 3120 | 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 0a 41 66 74 65 72 20 65 78 65 63 75 74 | .last.form.in.BODY..After.execut |
| 3140 | 69 6e 67 20 42 4f 44 59 2c 20 6d 6f 63 6b 73 20 61 6e 64 20 73 74 75 62 73 20 61 72 65 20 67 75 | ing.BODY,.mocks.and.stubs.are.gu |
| 3160 | 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 72 65 6c 65 61 73 65 64 2e 0a 0a 53 79 6e 6f 70 73 | aranteed.to.be.released...Synops |
| 3180 | 69 73 20 6f 66 20 73 70 65 63 3a 0a 53 70 65 63 20 69 73 20 61 72 67 75 6d 65 6e 74 73 20 6f 66 | is.of.spec:.Spec.is.arguments.of |
| 31a0 | 20 60 6d 6f 63 6b 27 2c 20 60 6e 6f 74 2d 63 61 6c 6c 65 64 27 20 6f 72 20 60 73 74 75 62 27 2e | .`mock',.`not-called'.or.`stub'. |
| 31c0 | 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 29 20 20 20 20 20 20 20 20 20 | .*.((FUNCTION.ARGS...))......... |
| 31e0 | 20 20 20 20 20 20 20 20 20 3a 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 | .........:.mock.which.returns.ni |
| 3200 | 6c 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 | l.*.((FUNCTION.ARGS...).=>.RETUR |
| 3220 | 4e 2d 56 41 4c 55 45 29 20 20 3b 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52 | N-VALUE)..;.mock.which.returns.R |
| 3240 | 45 54 55 52 4e 2d 56 41 4c 55 45 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e | ETURN-VALUE.*.((FUNCTION.ARGS... |
| 3260 | 29 20 3a 74 69 6d 65 73 20 4e 20 29 20 20 20 20 20 20 20 20 3b 20 6d 6f 63 6b 20 74 6f 20 62 65 | ).:times.N.)........;.mock.to.be |
| 3280 | 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 | .called.N.times.*.((FUNCTION.ARG |
| 32a0 | 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 3a 74 69 6d 65 73 20 4e 20 29 | S...).=>.RETURN-VALUE.:times.N.) |
| 32c0 | 20 20 3b 20 6d 6f 63 6b 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 0a 2a 20 | ..;.mock.to.be.called.N.times.*. |
| 32e0 | 28 46 55 4e 43 54 49 4f 4e 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (FUNCTION)...................... |
| 3300 | 20 20 20 20 20 20 3a 20 73 74 75 62 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 0a 2a | ......:.stub.which.returns.nil.* |
| 3320 | 20 28 46 55 4e 43 54 49 4f 4e 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 20 20 20 20 20 | .(FUNCTION.=>.RETURN-VALUE)..... |
| 3340 | 20 20 20 20 20 20 20 3b 20 73 74 75 62 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54 55 | .......;.stub.which.returns.RETU |
| 3360 | 52 4e 2d 56 41 4c 55 45 0a 2a 20 28 46 55 4e 43 54 49 4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64 29 | RN-VALUE.*.(FUNCTION.not-called) |
| 3380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 46 55 | .................;.not-called.FU |
| 33a0 | 4e 43 54 49 4f 4e 0a 0a 41 52 47 53 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 60 2a 27 20 61 72 | NCTION..ARGS.that.are.not.`*'.ar |
| 33c0 | 65 20 65 76 61 6c 75 61 74 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 63 6b 20 69 73 20 76 65 72 | e.evaluated.when.the.mock.is.ver |
| 33e0 | 69 66 69 65 64 2c 0a 69 2e 65 2e 20 75 70 6f 6e 20 6c 65 61 76 69 6e 67 20 74 68 65 20 65 6e 63 | ified,.i.e..upon.leaving.the.enc |
| 3400 | 6c 6f 73 69 6e 67 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 66 6f 72 6d 2e 20 20 41 52 47 53 20 61 | losing.`with-mock'.form...ARGS.a |
| 3420 | 72 65 0a 65 76 61 6c 75 61 74 65 64 20 75 73 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 | re.evaluated.using.dynamic.scopi |
| 3440 | 6e 67 2e 20 20 54 68 65 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 69 73 20 65 76 61 6c 75 61 74 | ng...The.RETURN-VALUE.is.evaluat |
| 3460 | 65 64 0a 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 6d 6f 63 6b 65 64 20 66 75 6e | ed.when.executing.the.mocked.fun |
| 3480 | 63 74 69 6f 6e 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 28 6d 6f 63 6b 6c 65 74 20 28 28 28 6d | ction...Example:...(mocklet.(((m |
| 34a0 | 6f 63 6b 2d 6e 69 6c 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 6f 63 6b 2d 31 | ock-nil.1)).............((mock-1 |
| 34c0 | 20 2a 29 20 3d 3e 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 75 62 2d 6e 69 6c 29 | .*).=>.1).............(stub-nil) |
| 34e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 75 62 2d 32 20 3d 3e 20 32 29 29 0a 20 20 20 20 | .............(stub-2.=>.2))..... |
| 3500 | 28 61 6e 64 20 28 6e 75 6c 6c 20 28 6d 6f 63 6b 2d 6e 69 6c 20 31 29 29 20 20 20 20 28 3d 20 28 | (and.(null.(mock-nil.1))....(=.( |
| 3520 | 6d 6f 63 6b 2d 31 20 34 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 28 73 74 75 | mock-1.4).1)..........(null.(stu |
| 3540 | 62 2d 6e 69 6c 20 27 61 6e 79 29 29 20 28 3d 20 28 73 74 75 62 2d 32 29 20 32 29 29 29 20 3b 20 | b-nil.'any)).(=.(stub-2).2))).;. |
| 3560 | 3d 3e 20 74 0a 22 0a 20 20 60 28 6d 6f 63 6b 6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20 27 2c 73 70 | =>.t."...`(mocklet-function.',sp |
| 3580 | 65 63 6c 69 73 74 20 28 6c 61 6d 62 64 61 20 28 29 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 | eclist.(lambda.().,@body)))..(de |
| 35a0 | 66 61 6c 69 61 73 20 27 73 74 75 62 6c 65 74 20 27 6d 6f 63 6b 6c 65 74 29 0a 0a 28 70 75 74 20 | falias.'stublet.'mocklet)..(put. |
| 35c0 | 27 77 69 74 68 2d 6d 6f 63 6b 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e | 'with-mock.'lisp-indent-function |
| 35e0 | 20 30 29 0a 28 70 75 74 20 27 77 69 74 68 2d 73 74 75 62 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 | .0).(put.'with-stub.'lisp-indent |
| 3600 | 2d 66 75 6e 63 74 69 6f 6e 20 30 29 0a 28 70 75 74 20 27 6d 6f 63 6b 6c 65 74 20 27 6c 69 73 70 | -function.0).(put.'mocklet.'lisp |
| 3620 | 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 31 29 0a 28 70 75 74 20 27 73 74 75 62 6c 65 | -indent-function.1).(put.'stuble |
| 3640 | 74 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 31 29 0a 0a 28 70 72 6f | t.'lisp-indent-function.1)..(pro |
| 3660 | 76 69 64 65 20 27 65 6c 2d 6d 6f 63 6b 29 0a 0a 3b 3b 3b 20 65 6c 2d 6d 6f 63 6b 2e 65 6c 20 65 | vide.'el-mock)..;;;.el-mock.el.e |
| 3680 | 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nds.here........................ |
| 36a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 37e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |