| 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 36 36 34 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 | 0000664.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 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
| 0440 | 61 67 65 20 22 65 6c 2d 6d 6f 63 6b 22 20 22 32 30 32 32 30 36 32 35 2e 31 39 34 39 22 0a 20 20 | age."el-mock"."20220625.1949"... |
| 0460 | 22 54 69 6e 79 20 4d 6f 63 6b 20 61 6e 64 20 53 74 75 62 20 66 72 61 6d 65 77 6f 72 6b 20 69 6e | "Tiny.Mock.and.Stub.framework.in |
| 0480 | 20 45 6d 61 63 73 20 4c 69 73 70 2e 22 0a 20 20 28 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 3a | .Emacs.Lisp."...()...:url."http: |
| 04a0 | 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 65 6c 22 0a | //github.com/rejeep/el-mock.el". |
| 04c0 | 20 20 3a 63 6f 6d 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 | ..:commit."6cfbc9de8f1927295dca6 |
| 04e0 | 38 36 34 39 30 37 66 65 34 31 35 36 62 64 37 31 39 31 30 22 0a 20 20 3a 72 65 76 64 65 73 63 20 | 864907fe4156bd71910"...:revdesc. |
| 0500 | 22 36 63 66 62 63 39 64 65 38 66 31 39 22 0a 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 6c 69 | "6cfbc9de8f19"...:keywords.'("li |
| 0520 | 73 70 22 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 61 75 74 | sp"."testing"."unittest")...:aut |
| 0540 | 68 6f 72 73 20 27 28 28 22 72 75 62 69 6b 69 74 63 68 22 20 2e 20 22 72 75 62 69 6b 69 74 63 68 | hors.'(("rubikitch"..."rubikitch |
| 0560 | 40 72 75 62 79 2d 6c 61 6e 67 2e 6f 72 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 | @ruby-lang.org"))...:maintainers |
| 0580 | 20 27 28 28 22 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72 | .'(("Johan.Andersson"..."johan.r |
| 05a0 | 65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 | ejeep@gmail.com")))............. |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 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 37 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 33 34 00 20 30 00 00 00 | 0027272.00000000000.014234..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 50 61 63 6b 61 67 65 2d 56 65 72 73 | ejeep@gmail.com>.;;.Package-Vers |
| 0900 | 69 6f 6e 3a 20 32 30 32 32 30 36 32 35 2e 31 39 34 39 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 | ion:.20220625.1949.;;.Package-Re |
| 0920 | 76 69 73 69 6f 6e 3a 20 36 63 66 62 63 39 64 65 38 66 31 39 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 | vision:.6cfbc9de8f19.;;.Keywords |
| 0940 | 3a 20 6c 69 73 70 2c 20 74 65 73 74 69 6e 67 2c 20 75 6e 69 74 74 65 73 74 0a 3b 3b 20 55 52 4c | :.lisp,.testing,.unittest.;;.URL |
| 0960 | 3a 20 68 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 | :.http://github.com/rejeep/el-mo |
| 0980 | 63 6b 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 | ck.el..;;.This.file.is.free.soft |
| 09a0 | 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e | ware;.you.can.redistribute.it.an |
| 09c0 | 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d | d/or.modify.;;.it.under.the.term |
| 09e0 | 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 | s.of.the.GNU.General.Public.Lice |
| 0a00 | 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 | nse.as.published.by.;;.the.Free. |
| 0a20 | 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 | Software.Foundation;.either.vers |
| 0a40 | 69 6f 6e 20 32 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e | ion.2,.or.(at.your.option).;;.an |
| 0a60 | 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 | y.later.version...;;.This.file.i |
| 0a80 | 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 | s.distributed.in.the.hope.that.i |
| 0aa0 | 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 | t.will.be.useful,.;;.but.WITHOUT |
| 0ac0 | 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 | .ANY.WARRANTY;.without.even.the. |
| 0ae0 | 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 | implied.warranty.of.;;.MERCHANTA |
| 0b00 | 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c | BILITY.or.FITNESS.FOR.A.PARTICUL |
| 0b20 | 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 | AR.PURPOSE...See.the.;;.GNU.Gene |
| 0b40 | 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 | ral.Public.License.for.more.deta |
| 0b60 | 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 | ils...;;.You.should.have.receive |
| 0b80 | 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c | d.a.copy.of.the.GNU.General.Publ |
| 0ba0 | 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 | ic.License.;;.along.with.GNU.Ema |
| 0bc0 | 63 73 3b 20 73 65 65 20 74 68 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 20 49 66 20 6e 6f | cs;.see.the.file.COPYING...If.no |
| 0be0 | 74 2c 20 77 72 69 74 65 20 74 6f 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 | t,.write.to.;;.the.Free.Software |
| 0c00 | 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53 | .Foundation,.Inc.,.51.Franklin.S |
| 0c20 | 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 0a 3b 3b 20 42 6f 73 74 6f 6e 2c 20 4d | treet,.Fifth.Floor,.;;.Boston,.M |
| 0c40 | 41 20 30 32 31 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 | A.02110-1301,.USA...;;;.Commenta |
| 0c60 | 72 79 3a 0a 0a 3b 3b 20 45 6d 61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 69 73 20 61 20 6c 69 62 | ry:..;;.Emacs.Lisp.Mock.is.a.lib |
| 0c80 | 72 61 72 79 20 66 6f 72 20 6d 6f 63 6b 69 6e 67 20 61 6e 64 20 73 74 75 62 62 69 6e 67 20 75 73 | rary.for.mocking.and.stubbing.us |
| 0ca0 | 69 6e 67 0a 3b 3b 20 72 65 61 64 61 62 6c 65 20 73 79 6e 74 61 78 2e 20 4d 6f 73 74 20 63 6f 6d | ing.;;.readable.syntax..Most.com |
| 0cc0 | 6d 6f 6e 6c 79 20 45 6d 61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 69 73 20 75 73 65 64 20 69 6e | monly.Emacs.Lisp.Mock.is.used.in |
| 0ce0 | 0a 3b 3b 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 45 6d 61 63 73 20 4c 69 73 70 20 | .;;.conjunction.with.Emacs.Lisp. |
| 0d00 | 45 78 70 65 63 74 61 74 69 6f 6e 73 2c 20 62 75 74 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 | Expectations,.but.it.can.be.used |
| 0d20 | 20 69 6e 0a 3b 3b 20 6f 74 68 65 72 20 63 6f 6e 74 65 78 74 73 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d | .in.;;.other.contexts...;;;.Comm |
| 0d40 | 61 6e 64 73 3a 0a 3b 3b 0a 3b 3b 20 42 65 6c 6f 77 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 20 63 | ands:.;;.;;.Below.are.complete.c |
| 0d60 | 6f 6d 6d 61 6e 64 20 6c 69 73 74 3a 0a 3b 3b 0a 3b 3b 0a 3b 3b 3b 20 43 75 73 74 6f 6d 69 7a 61 | ommand.list:.;;.;;.;;;.Customiza |
| 0d80 | 62 6c 65 20 4f 70 74 69 6f 6e 73 3a 0a 3b 3b 0a 3b 3b 20 42 65 6c 6f 77 20 61 72 65 20 63 75 73 | ble.Options:.;;.;;.Below.are.cus |
| 0da0 | 74 6f 6d 69 7a 61 62 6c 65 20 6f 70 74 69 6f 6e 20 6c 69 73 74 3a 0a 3b 3b 0a 0a 3b 3b 20 45 6d | tomizable.option.list:.;;..;;.Em |
| 0dc0 | 61 63 73 20 4c 69 73 70 20 4d 6f 63 6b 20 70 72 6f 76 69 64 65 73 20 74 77 6f 20 73 63 6f 70 65 | acs.Lisp.Mock.provides.two.scope |
| 0de0 | 20 69 6e 74 65 72 66 61 63 65 20 6f 66 20 6d 6f 63 6b 20 61 6e 64 20 73 74 75 62 3a 0a 3b 3b 20 | .interface.of.mock.and.stub:.;;. |
| 0e00 | 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 20 60 77 69 74 68 | `with-mock'.and.`mocklet'..`with |
| 0e20 | 2d 6d 6f 63 6b 27 20 6f 6e 6c 79 20 64 65 66 69 6e 65 73 20 61 0a 3b 3b 20 73 63 6f 70 65 2e 20 | -mock'.only.defines.a.;;.scope.. |
| 0e40 | 60 6d 6f 63 6b 6c 65 74 27 20 69 73 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 | `mocklet'.is.more.sophisticated. |
| 0e60 | 69 6e 74 65 72 66 61 63 65 20 74 68 61 6e 20 60 77 69 74 68 2d 6d 6f 63 6b 27 3a 0a 3b 3b 20 60 | interface.than.`with-mock':.;;.` |
| 0e80 | 6d 6f 63 6b 6c 65 74 27 20 64 65 66 69 6e 65 73 20 6c 6f 63 61 6c 20 6d 6f 63 6b 20 61 6e 64 20 | mocklet'.defines.local.mock.and. |
| 0ea0 | 73 74 75 62 20 6c 69 6b 65 20 60 6c 65 74 27 2c 20 60 66 6c 65 74 27 2c 20 61 6e 64 0a 3b 3b 20 | stub.like.`let',.`flet',.and.;;. |
| 0ec0 | 60 6d 61 63 72 6f 6c 65 74 27 2e 0a 0a 3b 3b 20 57 69 74 68 69 6e 20 60 77 69 74 68 2d 6d 6f 63 | `macrolet'...;;.Within.`with-moc |
| 0ee0 | 6b 27 20 62 6f 64 79 20 28 6f 72 20 61 72 67 75 6d 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 73 70 | k'.body.(or.argument.function.sp |
| 0f00 | 65 63 69 66 69 65 64 20 69 6e 0a 3b 3b 20 60 6d 6f 63 6b 2d 70 72 6f 74 65 63 74 27 29 2c 20 79 | ecified.in.;;.`mock-protect'),.y |
| 0f20 | 6f 75 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 6d 6f 63 6b 20 61 6e 64 20 61 20 73 74 75 62 2e | ou.can.create.a.mock.and.a.stub. |
| 0f40 | 20 54 6f 20 63 72 65 61 74 65 20 61 0a 3b 3b 20 73 74 75 62 2c 20 75 73 65 20 60 73 74 75 62 27 | .To.create.a.;;.stub,.use.`stub' |
| 0f60 | 20 6d 61 63 72 6f 2e 20 54 6f 20 63 72 65 61 74 65 20 61 20 6d 6f 63 6b 2c 20 75 73 65 20 60 6d | .macro..To.create.a.mock,.use.`m |
| 0f80 | 6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 20 20 0a 3b 3b 20 46 6f 72 20 66 75 72 74 68 65 72 20 69 6e | ock'.macro.....;;.For.further.in |
| 0fa0 | 66 6f 72 6d 61 74 69 6f 6e 3a 20 73 65 65 20 64 6f 63 73 74 72 69 6e 67 73 2e 0a 3b 3b 20 5b 45 | formation:.see.docstrings..;;.[E |
| 0fc0 | 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 27 77 69 74 68 | VAL.IT].(describe-function.'with |
| 0fe0 | 2d 6d 6f 63 6b 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 | -mock).;;.[EVAL.IT].(describe-fu |
| 1000 | 6e 63 74 69 6f 6e 20 27 6d 6f 63 6b 6c 65 74 29 0a 3b 3b 20 5b 45 56 41 4c 20 49 54 5d 20 28 64 | nction.'mocklet).;;.[EVAL.IT].(d |
| 1020 | 65 73 63 72 69 62 65 2d 66 75 6e 63 74 69 6f 6e 20 27 73 74 75 62 29 0a 3b 3b 20 5b 45 56 41 4c | escribe-function.'stub).;;.[EVAL |
| 1040 | 20 49 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 29 0a 0a | .IT].(describe-function.'mock).. |
| 1060 | 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 | ;;;.Code:..(require.'cl-lib).(re |
| 1080 | 71 75 69 72 65 20 27 61 64 76 69 63 65 29 0a 0a 28 64 65 66 76 61 72 20 2d 73 74 75 62 62 65 64 | quire.'advice)..(defvar.-stubbed |
| 10a0 | 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 2d 6d 6f 63 6b 65 64 2d | -functions.nil).(defvar.-mocked- |
| 10c0 | 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 6d 6f 63 6b 2d 76 65 72 69 | functions.nil).(defvar.mock-veri |
| 10e0 | 66 79 2d 6c 69 73 74 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 69 6e 2d 6d 6f 63 6b 69 6e 67 20 | fy-list.nil).(defvar.in-mocking. |
| 1100 | 6e 69 6c 29 0a 0a 3b 3b 3b 3b 20 73 74 75 62 20 73 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28 | nil)..;;;;.stub.setup/teardown.( |
| 1120 | 64 65 66 75 6e 20 73 74 75 62 2f 73 65 74 75 70 20 28 66 75 6e 63 73 79 6d 20 76 61 6c 75 65 29 | defun.stub/setup.(funcsym.value) |
| 1140 | 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 69 74 69 6f 6e 2d 6d | ...(mock-suppress-redefinition-m |
| 1160 | 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 20 28 77 68 65 6e 20 | essage....(lambda.()......(when. |
| 1180 | 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 28 70 75 74 20 66 75 | (fboundp.funcsym)........(put.fu |
| 11a0 | 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 79 6d 62 6f | ncsym.'mock-original-func.(symbo |
| 11c0 | 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 28 66 73 65 74 | l-function.funcsym)))......(fset |
| 11e0 | 20 66 75 6e 63 73 79 6d 20 60 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 78 29 20 2c 76 61 6c | .funcsym.`(lambda.(&rest.x).,val |
| 1200 | 75 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 74 75 62 2f 74 65 61 72 64 6f 77 6e 20 28 66 | ue)))))..(defun.stub/teardown.(f |
| 1220 | 75 6e 63 73 79 6d 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 | uncsym)...(mock-suppress-redefin |
| 1240 | 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.()..... |
| 1260 | 20 28 6c 65 74 20 28 28 66 75 6e 63 20 28 67 65 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d | .(let.((func.(get.funcsym.'mock- |
| 1280 | 6f 72 69 67 69 6e 61 6c 2d 66 75 6e 63 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 | original-func)))........(if.(not |
| 12a0 | 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 61 6b 75 6e 62 6f 75 6e 64 20 66 | .func)............(fmakunbound.f |
| 12c0 | 75 6e 63 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 20 66 | uncsym)..........(fset.funcsym.f |
| 12e0 | 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 79 20 62 65 20 75 6e 61 64 76 69 63 65 | unc)..........;;.may.be.unadvice |
| 1300 | 64 0a 20 20 20 20 20 20 20 20 20 29 29 29 29 29 0a 20 20 20 20 0a 3b 3b 3b 3b 20 6d 6f 63 6b 20 | d..........)))))......;;;;.mock. |
| 1320 | 73 65 74 75 70 2f 74 65 61 72 64 6f 77 6e 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2f 73 65 74 75 70 | setup/teardown.(defun.mock/setup |
| 1340 | 20 28 66 75 6e 63 2d 73 70 65 63 20 76 61 6c 75 65 20 74 69 6d 65 73 29 0a 20 20 28 6d 6f 63 6b | .(func-spec.value.times)...(mock |
| 1360 | 2d 73 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 | -suppress-redefinition-message.. |
| 1380 | 20 20 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 73 79 6d | ..(lambda.()......(let.((funcsym |
| 13a0 | 20 28 63 61 72 20 66 75 6e 63 2d 73 70 65 63 29 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 | .(car.func-spec)))........(when. |
| 13c0 | 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 74 20 | (fboundp.funcsym)..........(put. |
| 13e0 | 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 79 6d | funcsym.'mock-original-func.(sym |
| 1400 | 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 20 28 | bol-function.funcsym)))........( |
| 1420 | 70 75 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 20 30 29 0a | put.funcsym.'mock-call-count.0). |
| 1440 | 20 20 20 20 20 20 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 | .......(fset.funcsym............ |
| 1460 | 20 20 20 20 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 63 74 75 61 6c | ..........`(lambda.(&rest.actual |
| 1480 | 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 20 20 28 | -args).........................( |
| 14a0 | 63 6c 2d 69 6e 63 66 20 28 67 65 74 20 27 2c 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 63 61 6c | cl-incf.(get.',funcsym.'mock-cal |
| 14c0 | 6c 2d 63 6f 75 6e 74 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 | l-count))....................... |
| 14e0 | 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 | ..(add-to-list.'mock-verify-list |
| 1500 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1520 | 20 20 20 20 20 20 28 6c 69 73 74 20 27 2c 66 75 6e 63 73 79 6d 20 27 2c 28 63 64 72 20 66 75 6e | ......(list.',funcsym.',(cdr.fun |
| 1540 | 63 2d 73 70 65 63 29 20 61 63 74 75 61 6c 2d 61 72 67 73 20 2c 74 69 6d 65 73 29 29 0a 20 20 20 | c-spec).actual-args.,times)).... |
| 1560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 6c 75 65 29 29 29 29 29 | .....................,value))))) |
| 1580 | 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 74 2d 63 61 6c 6c 65 64 2f 73 65 74 75 70 20 28 66 75 6e 63 | )..(defun.not-called/setup.(func |
| 15a0 | 73 79 6d 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 69 74 69 | sym)...(mock-suppress-redefiniti |
| 15c0 | 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 20 28 6c | on-message....(lambda.()......(l |
| 15e0 | 65 74 20 28 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 | et.()........(when.(fboundp.func |
| 1600 | 73 79 6d 29 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 | sym)..........(put.funcsym.'mock |
| 1620 | 2d 6f 72 69 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 | -original-func.(symbol-function. |
| 1640 | 66 75 6e 63 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 28 66 73 65 74 20 66 75 6e 63 73 79 6d 0a | funcsym)))........(fset.funcsym. |
| 1660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 | .....................(lambda.(&r |
| 1680 | 65 73 74 20 5f 61 63 74 75 61 6c 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est._actual-args)............... |
| 16a0 | 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 27 28 63 | .........(signal.'mock-error.'(c |
| 16c0 | 61 6c 6c 65 64 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 6d 6f 63 6b 2f 74 | alled))))))))..(defalias.'mock/t |
| 16e0 | 65 61 72 64 6f 77 6e 20 27 73 74 75 62 2f 74 65 61 72 64 6f 77 6e 29 0a 0a 3b 3b 3b 3b 20 6d 6f | eardown.'stub/teardown)..;;;;.mo |
| 1700 | 63 6b 20 76 65 72 69 66 79 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 27 65 72 72 6f | ck.verify.(put.'mock-error.'erro |
| 1720 | 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 6d 6f 63 6b 2d 65 72 72 6f 72 20 65 72 72 6f 72 29 | r-conditions.'(mock-error.error) |
| 1740 | 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 6d 65 73 73 61 67 | ).(put.'mock-error.'error-messag |
| 1760 | 65 20 22 4d 6f 63 6b 20 65 72 72 6f 72 22 29 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 76 65 72 69 | e."Mock.error").(defun.mock-veri |
| 1780 | 66 79 20 28 29 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 66 20 69 6e 20 2d 6d 6f 63 6b 65 | fy.()...(cl-loop.for.f.in.-mocke |
| 17a0 | 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 65 71 75 | d-functions............when.(equ |
| 17c0 | 61 6c 20 30 20 28 67 65 74 20 66 20 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 29 0a 20 | al.0.(get.f.'mock-call-count)).. |
| 17e0 | 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 | ..........do.(signal.'mock-error |
| 1800 | 20 28 6c 69 73 74 20 27 6e 6f 74 2d 63 61 6c 6c 65 64 20 66 29 29 29 0a 20 20 28 63 6c 2d 6c 6f | .(list.'not-called.f)))...(cl-lo |
| 1820 | 6f 70 20 66 6f 72 20 61 72 67 73 20 69 6e 20 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 74 0a | op.for.args.in.mock-verify-list. |
| 1840 | 20 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 | ...........do............(apply. |
| 1860 | 27 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72 67 73 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 | 'mock-verify-args.args)))..(defu |
| 1880 | 6e 20 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 61 72 67 73 20 28 66 75 6e 63 73 79 6d 20 65 78 70 65 | n.mock-verify-args.(funcsym.expe |
| 18a0 | 63 74 65 64 2d 61 72 67 73 20 61 63 74 75 61 6c 2d 61 72 67 73 20 65 78 70 65 63 74 65 64 2d 74 | cted-args.actual-args.expected-t |
| 18c0 | 69 6d 65 73 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 3d 20 28 6c 65 6e 67 74 68 20 65 78 70 65 63 | imes)...(unless.(=.(length.expec |
| 18e0 | 74 65 64 2d 61 72 67 73 29 20 28 6c 65 6e 67 74 68 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 0a | ted-args).(length.actual-args)). |
| 1900 | 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 | ....(signal.'mock-error.(list.(c |
| 1920 | 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 | ons.funcsym.expected-args)...... |
| 1940 | 20 20 20 20 20 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 66 | .........................(cons.f |
| 1960 | 75 6e 63 73 79 6d 20 61 63 74 75 61 6c 2d 61 72 67 73 29 29 29 29 0a 20 20 28 63 6c 2d 6c 6f 6f | uncsym.actual-args))))...(cl-loo |
| 1980 | 70 20 66 6f 72 20 65 20 69 6e 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 0a 20 20 20 20 20 20 20 | p.for.e.in.expected-args........ |
| 19a0 | 20 20 20 20 66 6f 72 20 61 20 69 6e 20 61 63 74 75 61 6c 2d 61 72 67 73 0a 20 20 20 20 20 20 20 | ....for.a.in.actual-args........ |
| 19c0 | 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 65 20 | ....do............(unless.(eq.e. |
| 19e0 | 27 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 60 2a 27 20 69 73 20 77 69 6c 64 63 | '*)...............;.`*'.is.wildc |
| 1a00 | 61 72 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 | ard.argument..............(unles |
| 1a20 | 73 20 28 65 71 75 61 6c 20 28 65 76 61 6c 20 65 29 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 | s.(equal.(eval.e).a)............ |
| 1a40 | 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 | ....(signal.'mock-error.(list.(c |
| 1a60 | 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 | ons.funcsym.expected-args)...... |
| 1a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1aa0 | 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 73 29 29 29 | ....(cons.funcsym.actual-args))) |
| 1ac0 | 29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 63 74 75 61 6c 2d 74 69 6d 65 73 20 28 6f 72 20 28 67 | )))...(let.((actual-times.(or.(g |
| 1ae0 | 65 74 20 66 75 6e 63 73 79 6d 20 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 29 20 30 29 29 | et.funcsym.'mock-call-count).0)) |
| 1b00 | 29 0a 20 20 20 20 28 61 6e 64 20 65 78 70 65 63 74 65 64 2d 74 69 6d 65 73 20 28 2f 3d 20 65 78 | ).....(and.expected-times.(/=.ex |
| 1b20 | 70 65 63 74 65 64 2d 74 69 6d 65 73 20 61 63 74 75 61 6c 2d 74 69 6d 65 73 29 0a 20 20 20 20 20 | pected-times.actual-times)...... |
| 1b40 | 20 20 20 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 28 63 | ....(signal.'mock-error.(list.(c |
| 1b60 | 6f 6e 73 20 66 75 6e 63 73 79 6d 20 65 78 70 65 63 74 65 64 2d 61 72 67 73 29 0a 20 20 20 20 20 | ons.funcsym.expected-args)...... |
| 1b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 | ..............................:e |
| 1ba0 | 78 70 65 63 74 65 64 2d 74 69 6d 65 73 20 65 78 70 65 63 74 65 64 2d 74 69 6d 65 73 0a 20 20 20 | xpected-times.expected-times.... |
| 1bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1be0 | 3a 61 63 74 75 61 6c 2d 74 69 6d 65 73 20 61 63 74 75 61 6c 2d 74 69 6d 65 73 29 29 29 29 29 0a | :actual-times.actual-times))))). |
| 1c00 | 3b 3b 3b 3b 20 73 74 75 62 2f 6d 6f 63 6b 20 70 72 6f 76 69 64 65 72 0a 28 64 65 66 75 6e 20 6d | ;;;;.stub/mock.provider.(defun.m |
| 1c20 | 6f 63 6b 2d 70 72 6f 74 65 63 74 20 28 62 6f 64 79 2d 66 6e 29 0a 20 20 22 54 68 65 20 73 75 62 | ock-protect.(body-fn)..."The.sub |
| 1c40 | 73 74 61 6e 63 65 20 6f 66 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 6d 61 63 72 6f 2e 0a 50 72 65 | stance.of.`with-mock'.macro..Pre |
| 1c60 | 70 61 72 65 20 66 6f 72 20 6d 6f 63 6b 2f 73 74 75 62 2c 20 63 61 6c 6c 20 42 4f 44 59 2d 46 4e | pare.for.mock/stub,.call.BODY-FN |
| 1c80 | 2c 20 61 6e 64 20 74 65 61 72 64 6f 77 6e 20 6d 6f 63 6b 2f 73 74 75 62 2e 0a 0a 46 6f 72 20 64 | ,.and.teardown.mock/stub...For.d |
| 1ca0 | 65 76 65 6c 6f 70 65 72 3a 0a 57 68 65 6e 20 79 6f 75 20 61 64 61 70 74 20 45 6d 61 63 73 20 4c | eveloper:.When.you.adapt.Emacs.L |
| 1cc0 | 69 73 70 20 4d 6f 63 6b 20 74 6f 20 61 20 74 65 73 74 69 6e 67 20 66 72 61 6d 65 77 6f 72 6b 2c | isp.Mock.to.a.testing.framework, |
| 1ce0 | 0a 77 72 61 70 20 74 65 73 74 20 6d 65 74 68 6f 64 20 61 72 6f 75 6e 64 20 74 68 69 73 20 66 75 | .wrap.test.method.around.this.fu |
| 1d00 | 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 6d 6f 63 6b 2d 76 65 72 69 66 79 2d 6c 69 73 | nction."...(let.(mock-verify-lis |
| 1d20 | 74 0a 20 20 20 20 20 20 20 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 | t.........-stubbed-functions.... |
| 1d40 | 20 20 20 20 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 28 | .....-mocked-functions.........( |
| 1d60 | 69 6e 2d 6d 6f 63 6b 69 6e 67 20 74 29 0a 20 20 20 20 20 20 20 20 28 61 6e 79 2d 65 72 72 6f 72 | in-mocking.t).........(any-error |
| 1d80 | 20 74 29 29 0a 20 20 20 20 3b 3b 20 28 73 65 74 70 6c 69 73 74 20 27 6d 6f 63 6b 2d 6f 72 69 67 | .t)).....;;.(setplist.'mock-orig |
| 1da0 | 69 6e 61 6c 2d 66 75 6e 63 20 6e 69 6c 29 0a 20 20 20 20 3b 3b 20 28 73 65 74 70 6c 69 73 74 20 | inal-func.nil).....;;.(setplist. |
| 1dc0 | 27 6d 6f 63 6b 2d 63 61 6c 6c 2d 63 6f 75 6e 74 20 6e 69 6c 29 0a 20 20 20 20 28 75 6e 77 69 6e | 'mock-call-count.nil).....(unwin |
| 1de0 | 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 | d-protect.........(prog1........ |
| 1e00 | 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f 64 79 2d 66 6e 29 0a 20 20 20 20 20 20 20 20 20 | .....(funcall.body-fn).......... |
| 1e20 | 20 28 73 65 74 71 20 61 6e 79 2d 65 72 72 6f 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 6d 61 | .(setq.any-error.nil)).......(ma |
| 1e40 | 70 63 20 23 27 73 74 75 62 2f 74 65 61 72 64 6f 77 6e 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63 | pc.#'stub/teardown.-stubbed-func |
| 1e60 | 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 | tions).......(unwind-protect.... |
| 1e80 | 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 61 6e 79 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 | .......(unless.any-error........ |
| 1ea0 | 20 20 20 20 20 28 6d 6f 63 6b 2d 76 65 72 69 66 79 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 | .....(mock-verify)).........(map |
| 1ec0 | 63 20 23 27 6d 6f 63 6b 2f 74 65 61 72 64 6f 77 6e 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 | c.#'mock/teardown.-mocked-functi |
| 1ee0 | 6f 6e 73 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 6d 65 73 73 61 67 65 20 68 61 63 6b 0a 28 64 65 66 | ons)))))..;;;;.message.hack.(def |
| 1f00 | 75 6e 20 6d 6f 63 6b 2d 73 75 70 70 72 65 73 73 2d 72 65 64 65 66 69 6e 69 74 69 6f 6e 2d 6d 65 | un.mock-suppress-redefinition-me |
| 1f20 | 73 73 61 67 65 20 28 66 75 6e 63 29 0a 20 20 22 45 72 61 73 65 20 5c 22 61 64 2d 68 61 6e 64 6c | ssage.(func)..."Erase.\"ad-handl |
| 1f40 | 65 2d 64 65 66 69 6e 69 74 69 6f 6e 3a 20 60 25 73 27 20 67 6f 74 20 72 65 64 65 66 69 6e 65 64 | e-definition:.`%s'.got.redefined |
| 1f60 | 5c 22 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 29 29 0a 28 | \".message."...(funcall.func)).( |
| 1f80 | 70 75 74 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d 63 6f | put.'mock-syntax-error.'error-co |
| 1fa0 | 6e 64 69 74 69 6f 6e 73 20 27 28 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 20 65 72 72 | nditions.'(mock-syntax-error.err |
| 1fc0 | 6f 72 29 29 0a 28 70 75 74 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f 72 20 27 65 72 | or)).(put.'mock-syntax-error.'er |
| 1fe0 | 72 6f 72 2d 6d 65 73 73 61 67 65 20 22 4d 6f 63 6b 20 73 79 6e 74 61 78 20 65 72 72 6f 72 22 29 | ror-message."Mock.syntax.error") |
| 2000 | 0a 0a 3b 3b 3b 3b 20 55 73 65 72 20 69 6e 74 65 72 66 61 63 65 0a 28 64 65 66 6d 61 63 72 6f 20 | ..;;;;.User.interface.(defmacro. |
| 2020 | 77 69 74 68 2d 6d 6f 63 6b 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 78 65 63 75 74 | with-mock.(&rest.body)..."Execut |
| 2040 | 65 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 4f 44 59 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 | e.the.forms.in.BODY..You.can.use |
| 2060 | 20 60 6d 6f 63 6b 27 20 61 6e 64 20 60 73 74 75 62 27 20 69 6e 20 42 4f 44 59 2e 0a 54 68 65 20 | .`mock'.and.`stub'.in.BODY..The. |
| 2080 | 76 61 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 | value.returned.is.the.value.of.t |
| 20a0 | 68 65 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 | he.last.form.in.BODY..After.exec |
| 20c0 | 75 74 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 | uting.BODY,.mocks.and.stubs.are. |
| 20e0 | 67 75 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 45 78 61 6d | guaranteed.to.be.released...Exam |
| 2100 | 70 6c 65 3a 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 73 74 75 62 20 66 6f 6f 7a | ple:...(with-mock.....(stub.fooz |
| 2120 | 20 3d 3e 20 32 29 0a 20 20 20 20 28 66 6f 6f 7a 20 39 39 39 39 29 29 20 20 20 20 20 20 20 20 20 | .=>.2).....(fooz.9999))......... |
| 2140 | 20 20 20 20 20 20 20 20 20 3b 20 3d 3e 20 32 0a 22 0a 20 20 60 28 6d 6f 63 6b 2d 70 72 6f 74 65 | .........;.=>.2."...`(mock-prote |
| 2160 | 63 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 20 2c 40 62 6f 64 79 29 29 29 0a 28 64 65 66 | ct.....(lambda.().,@body))).(def |
| 2180 | 61 6c 69 61 73 20 27 77 69 74 68 2d 73 74 75 62 20 27 77 69 74 68 2d 6d 6f 63 6b 29 0a 0a 28 64 | alias.'with-stub.'with-mock)..(d |
| 21a0 | 65 66 6d 61 63 72 6f 20 73 74 75 62 20 28 66 75 6e 63 74 69 6f 6e 20 26 72 65 73 74 20 72 65 73 | efmacro.stub.(function.&rest.res |
| 21c0 | 74 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 74 75 62 20 66 6f 72 20 46 55 4e 43 54 49 4f 4e | t)..."Create.a.stub.for.FUNCTION |
| 21e0 | 2e 0a 53 74 75 62 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 | ..Stubs.are.temporary.functions. |
| 2200 | 77 68 69 63 68 20 61 63 63 65 70 74 20 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72 | which.accept.any.arguments.and.r |
| 2220 | 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76 61 6c 75 65 2e 0a 53 74 75 62 73 20 61 72 65 20 | eturn.constant.value..Stubs.are. |
| 2240 | 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 28 60 77 69 | removed.outside.`with-mock'.(`wi |
| 2260 | 74 68 2d 73 74 75 62 27 20 69 73 20 61 6e 20 61 6c 69 61 73 29 20 61 6e 64 20 60 6d 6f 63 6b 6c | th-stub'.is.an.alias).and.`mockl |
| 2280 | 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a 0a 2a 20 28 73 74 75 62 20 46 55 4e 43 54 49 4f 4e | et'...Synopsis:.*.(stub.FUNCTION |
| 22a0 | 29 0a 20 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 | )...Create.a.FUNCTION.stub.which |
| 22c0 | 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 2a 20 28 73 74 75 62 20 46 55 4e 43 54 49 4f 4e 20 3d | .returns.nil..*.(stub.FUNCTION.= |
| 22e0 | 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 46 55 4e 43 54 | >.RETURN-VALUE)...Create.a.FUNCT |
| 2300 | 49 4f 4e 20 73 74 75 62 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 52 45 54 55 52 4e 2d 56 41 | ION.stub.which.returns.RETURN-VA |
| 2320 | 4c 55 45 2e 0a 0a 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 | LUE...RETURN-VALUE.is.evaluated. |
| 2340 | 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 63 74 69 | when.executing.the.mocked.functi |
| 2360 | 6f 6e 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 | on...Example:...(with-mock.....( |
| 2380 | 73 74 75 62 20 66 6f 6f 29 0a 20 20 20 20 28 73 74 75 62 20 62 61 72 20 3d 3e 20 31 29 0a 20 20 | stub.foo).....(stub.bar.=>.1)... |
| 23a0 | 20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 66 6f 6f 29 29 20 28 3d 20 28 62 61 72 20 37 29 20 31 | ..(and.(null.(foo)).(=.(bar.7).1 |
| 23c0 | 29 29 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a 22 0a 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 | ))).....;.=>.t."...(let.((value. |
| 23e0 | 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 3e 29 29 0a 20 20 20 | (cond.((plist-get.rest.'=>)).... |
| 2400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 27 3d 3e 20 72 65 73 | ..................((memq.'=>.res |
| 2420 | 74 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e | t).nil)......................((n |
| 2440 | 75 6c 6c 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 20 | ull.rest).nil).................. |
| 2460 | 20 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 2d 65 72 72 6f | ....(t.(signal.'mock-syntax-erro |
| 2480 | 72 20 27 28 22 55 73 65 20 60 28 73 74 75 62 20 46 55 4e 43 29 27 20 6f 72 20 60 28 73 74 75 62 | r.'("Use.`(stub.FUNC)'.or.`(stub |
| 24a0 | 20 46 55 4e 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 | .FUNC.=>.RETURN-VALUE)'")))))).. |
| 24c0 | 20 20 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 | ...`(if.(not.in-mocking)........ |
| 24e0 | 20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 20 75 73 65 20 60 73 74 75 62 27 20 6f 75 74 73 | ..(error."Do.not.use.`stub'.outs |
| 2500 | 69 64 65 22 29 0a 20 20 20 20 20 20 20 28 73 74 75 62 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 74 | ide")........(stub/setup.',funct |
| 2520 | 69 6f 6e 20 27 2c 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 27 2c 66 75 6e 63 | ion.',value)........(push.',func |
| 2540 | 74 69 6f 6e 20 2d 73 74 75 62 62 65 64 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 0a 0a 28 64 65 | tion.-stubbed-functions))))..(de |
| 2560 | 66 6d 61 63 72 6f 20 6d 6f 63 6b 20 28 66 75 6e 63 2d 73 70 65 63 20 26 72 65 73 74 20 72 65 73 | fmacro.mock.(func-spec.&rest.res |
| 2580 | 74 29 0a 20 20 20 20 22 43 72 65 61 74 65 20 61 20 6d 6f 63 6b 20 66 6f 72 20 66 75 6e 63 74 69 | t)....."Create.a.mock.for.functi |
| 25a0 | 6f 6e 20 64 65 73 63 72 69 62 65 64 20 62 79 20 46 55 4e 43 2d 53 50 45 43 2e 0a 4d 6f 63 6b 73 | on.described.by.FUNC-SPEC..Mocks |
| 25c0 | 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 68 20 61 | .are.temporary.functions.which.a |
| 25e0 | 63 63 65 70 74 20 73 70 65 63 69 66 69 65 64 20 61 72 67 75 6d 65 6e 74 73 0a 61 6e 64 20 72 65 | ccept.specified.arguments.and.re |
| 2600 | 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 20 76 61 6c 75 65 2e 0a 49 66 20 6d 6f 63 6b 65 64 20 66 | turn.constant.value..If.mocked.f |
| 2620 | 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 63 61 6c 6c 65 64 20 6f 72 20 63 61 6c 6c 65 | unctions.are.not.called.or.calle |
| 2640 | 64 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 61 72 67 75 6d 65 6e 74 73 2c 0a 61 6e 20 60 6d 6f | d.by.different.arguments,.an.`mo |
| 2660 | 63 6b 2d 65 72 72 6f 72 27 20 6f 63 63 75 72 73 2e 0a 4d 6f 63 6b 73 20 61 72 65 20 72 65 6d 6f | ck-error'.occurs..Mocks.are.remo |
| 2680 | 76 65 64 20 6f 75 74 73 69 64 65 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64 20 60 6d 6f 63 | ved.outside.`with-mock'.and.`moc |
| 26a0 | 6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a 0a 2a 20 28 6d 6f 63 6b 20 28 46 55 4e 43 54 | klet'...Synopsis:.*.(mock.(FUNCT |
| 26c0 | 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 29 0a 20 20 43 72 65 61 74 65 20 61 20 46 55 4e 43 54 49 4f | ION.ARGS...))...Create.a.FUNCTIO |
| 26e0 | 4e 20 6d 6f 63 6b 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 2a 20 28 6d 6f 63 | N.mock.which.returns.nil..*.(moc |
| 2700 | 6b 20 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 4e 2d 56 | k.(FUNCTION.ARGS...).=>.RETURN-V |
| 2720 | 41 4c 55 45 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 77 | ALUE)...Create.a.FUNCTION.mock.w |
| 2740 | 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 2a 20 28 6d 6f | hich.returns.RETURN-VALUE..*.(mo |
| 2760 | 63 6b 20 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 20 3a 74 69 6d 65 73 20 4e 29 0a | ck.(FUNCTION.ARGS...).:times.N). |
| 2780 | 20 20 46 55 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 | ..FUNCTION.must.be.called.N.time |
| 27a0 | 73 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 2e 2e 29 20 3d 3e | s..*.(mock.(FUNCTION.ARGS...).=> |
| 27c0 | 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 20 3a 74 69 6d 65 73 20 4e 29 0a 20 20 43 72 65 61 74 65 | .RETURN-VALUE.:times.N)...Create |
| 27e0 | 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 72 6e 73 20 52 | .a.FUNCTION.mock.which.returns.R |
| 2800 | 45 54 55 52 4e 2d 56 41 4c 55 45 2e 0a 20 20 46 55 4e 43 54 49 4f 4e 20 6d 75 73 74 20 62 65 20 | ETURN-VALUE....FUNCTION.must.be. |
| 2820 | 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 2e 0a 0a 57 69 6c 64 63 61 72 64 3a 0a 54 68 65 20 60 | called.N.times...Wildcard:.The.` |
| 2840 | 2a 27 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 73 79 6d 62 6f 6c 3a 20 69 74 20 61 63 63 65 70 | *'.is.a.special.symbol:.it.accep |
| 2860 | 74 73 20 61 6e 79 20 76 61 6c 75 65 20 66 6f 72 20 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 70 | ts.any.value.for.that.argument.p |
| 2880 | 6f 73 69 74 69 6f 6e 2e 0a 0a 41 52 47 53 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 60 2a 27 20 | osition...ARGS.that.are.not.`*'. |
| 28a0 | 61 72 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 | are.evaluated.when.the.mock.is.v |
| 28c0 | 65 72 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 | erified,.i.e..upon.leaving.the.e |
| 28e0 | 6e 63 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 | nclosing.`with-mock'.form...ARGS |
| 2900 | 20 61 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 | .are.evaluated.using.dynamic.sco |
| 2920 | 70 69 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 | ping...The.RETURN-VALUE.is.evalu |
| 2940 | 61 74 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 | ated.when.executing.the.mocked.f |
| 2960 | 75 6e 63 74 69 6f 6e 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 | unction...Example:...(with-mock. |
| 2980 | 20 20 20 20 28 6d 6f 63 6b 20 28 66 20 2a 20 32 29 20 3d 3e 20 33 29 0a 20 20 20 20 28 6d 6f 63 | ....(mock.(f.*.2).=>.3).....(moc |
| 29a0 | 6b 20 28 67 20 33 29 29 0a 20 20 20 20 28 61 6e 64 20 28 3d 20 28 66 20 39 20 32 29 20 33 29 20 | k.(g.3)).....(and.(=.(f.9.2).3). |
| 29c0 | 28 6e 75 6c 6c 20 28 67 20 33 29 29 29 29 20 20 20 20 20 3b 20 3d 3e 20 74 0a 20 20 28 77 69 74 | (null.(g.3)))).....;.=>.t...(wit |
| 29e0 | 68 2d 6d 6f 63 6b 0a 20 20 20 20 28 6d 6f 63 6b 20 28 67 20 33 29 29 0a 20 20 20 20 28 67 20 37 | h-mock.....(mock.(g.3)).....(g.7 |
| 2a00 | 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )).............................. |
| 2a20 | 20 20 3b 20 28 6d 6f 63 6b 2d 65 72 72 6f 72 20 28 67 20 33 29 20 28 67 20 37 29 29 0a 22 0a 20 | ..;.(mock-error.(g.3).(g.7)).".. |
| 2a40 | 20 28 6c 65 74 2a 20 28 28 74 69 6d 65 73 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a | .(let*.((times.(plist-get.rest.: |
| 2a60 | 74 69 6d 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 63 6f 6e 64 20 28 28 | times))..........(value.(cond.(( |
| 2a80 | 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 27 3d 3e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | plist-get.rest.'=>))............ |
| 2aa0 | 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 27 3d 3e 20 72 65 73 74 29 20 6e 69 6c 29 | ...........((memq.'=>.rest).nil) |
| 2ac0 | 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 6e 75 6c 6c 20 72 65 | .......................((null.re |
| 2ae0 | 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 20 20 20 20 20 20 28 | st).nil).......................( |
| 2b00 | 28 6e 6f 74 20 74 69 6d 65 73 29 20 28 73 69 67 6e 61 6c 20 27 6d 6f 63 6b 2d 73 79 6e 74 61 78 | (not.times).(signal.'mock-syntax |
| 2b20 | 2d 65 72 72 6f 72 20 27 28 22 55 73 65 20 60 28 6d 6f 63 6b 20 46 55 4e 43 2d 53 50 45 43 29 27 | -error.'("Use.`(mock.FUNC-SPEC)' |
| 2b40 | 20 6f 72 20 60 28 6d 6f 63 6b 20 46 55 4e 43 2d 53 50 45 43 20 3d 3e 20 52 45 54 55 52 4e 2d 56 | .or.`(mock.FUNC-SPEC.=>.RETURN-V |
| 2b60 | 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 |
| 2b80 | 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. |
| 2ba0 | 75 73 65 20 60 6d 6f 63 6b 27 20 6f 75 74 73 69 64 65 22 29 0a 20 20 20 20 20 20 20 28 6d 6f 63 | use.`mock'.outside")........(moc |
| 2bc0 | 6b 2f 73 65 74 75 70 20 27 2c 66 75 6e 63 2d 73 70 65 63 20 27 2c 76 61 6c 75 65 20 2c 74 69 6d | k/setup.',func-spec.',value.,tim |
| 2be0 | 65 73 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 27 2c 28 63 61 72 20 66 75 6e 63 2d 73 70 65 | es)........(push.',(car.func-spe |
| 2c00 | 63 29 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 0a 0a 28 64 65 66 6d 61 | c).-mocked-functions))))..(defma |
| 2c20 | 63 72 6f 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 28 66 75 6e 63 74 69 6f 6e 29 0a 20 20 22 43 72 65 | cro.not-called.(function)..."Cre |
| 2c40 | 61 74 65 20 61 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f 63 6b 20 66 6f 72 20 46 55 4e 43 54 49 | ate.a.not-called.mock.for.FUNCTI |
| 2c60 | 4f 4e 2e 0a 4e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f 63 6b 73 20 61 72 65 20 74 65 6d 70 6f 72 61 | ON..Not-called.mocks.are.tempora |
| 2c80 | 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 72 61 69 73 65 73 20 61 6e 20 65 72 72 | ry.functions.which.raises.an.err |
| 2ca0 | 6f 72 20 77 68 65 6e 20 63 61 6c 6c 65 64 2e 0a 49 66 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 66 75 | or.when.called..If.not-called.fu |
| 2cc0 | 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 64 2c 20 61 6e 20 60 6d 6f 63 6b 2d 65 72 72 | nctions.are.called,.an.`mock-err |
| 2ce0 | 6f 72 27 20 6f 63 63 75 72 73 2e 0a 4e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f 63 6b 73 20 61 72 65 | or'.occurs..Not-called.mocks.are |
| 2d00 | 20 72 65 6d 6f 76 65 64 20 6f 75 74 73 69 64 65 20 60 77 69 74 68 2d 6d 6f 63 6b 27 20 61 6e 64 | .removed.outside.`with-mock'.and |
| 2d20 | 20 60 6d 6f 63 6b 6c 65 74 27 2e 0a 0a 53 79 6e 6f 70 73 69 73 3a 0a 2a 20 28 6e 6f 74 2d 63 61 | .`mocklet'...Synopsis:.*.(not-ca |
| 2d40 | 6c 6c 65 64 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 54 49 | lled.FUNCTION)...Create.a.FUNCTI |
| 2d60 | 4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 6d 6f 63 6b 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 | ON.not-called.mock...Example:... |
| 2d80 | 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 66 29 0a 20 20 | (with-mock.....(not-called.f)... |
| 2da0 | 20 20 74 29 20 20 20 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 | ..t).....;.=>.t...(with-mock.... |
| 2dc0 | 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 20 67 29 0a 20 20 20 20 28 67 20 37 29 29 20 3b 20 3d 3e 20 | .(not-called.g).....(g.7)).;.=>. |
| 2de0 | 28 6d 6f 63 6b 2d 65 72 72 6f 72 20 63 61 6c 6c 65 64 29 0a 22 0a 20 20 28 6c 65 74 20 28 29 0a | (mock-error.called)."...(let.(). |
| 2e00 | 20 20 20 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 | ....`(if.(not.in-mocking)....... |
| 2e20 | 20 20 20 28 65 72 72 6f 72 20 22 44 6f 20 6e 6f 74 20 75 73 65 20 60 6e 6f 74 2d 63 61 6c 6c 65 | ...(error."Do.not.use.`not-calle |
| 2e40 | 64 27 20 6f 75 74 73 69 64 65 22 29 0a 20 20 20 20 20 20 20 28 6e 6f 74 2d 63 61 6c 6c 65 64 2f | d'.outside")........(not-called/ |
| 2e60 | 73 65 74 75 70 20 27 2c 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 27 | setup.',function)........(push.' |
| 2e80 | 2c 66 75 6e 63 74 69 6f 6e 20 2d 6d 6f 63 6b 65 64 2d 66 75 6e 63 74 69 6f 6e 73 29 29 29 29 0a | ,function.-mocked-functions)))). |
| 2ea0 | 0a 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 2d 70 61 72 73 65 2d 73 70 65 63 20 28 73 70 65 63 29 0a | ..(defun.mock-parse-spec.(spec). |
| 2ec0 | 20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 | ..(cons.'progn.........(mapcar.( |
| 2ee0 | 6c 61 6d 62 64 61 20 28 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lambda.(args)................... |
| 2f00 | 28 69 66 20 28 65 71 20 28 63 61 64 72 20 61 72 67 73 29 20 27 6e 6f 74 2d 63 61 6c 6c 65 64 29 | (if.(eq.(cadr.args).'not-called) |
| 2f20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6e 6f 74 2d 63 61 6c | .......................`(not-cal |
| 2f40 | 6c 65 64 20 2c 28 63 61 72 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | led.,(car.args))................ |
| 2f60 | 20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 28 63 6f 6e 73 70 20 28 63 61 72 20 61 72 67 73 29 | .....(cons.(if.(consp.(car.args) |
| 2f80 | 29 20 27 6d 6f 63 6b 20 27 73 74 75 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).'mock.'stub).................. |
| 2fa0 | 20 20 20 20 20 20 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | .......args))).................s |
| 2fc0 | 70 65 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 6f 63 6b 6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20 | pec)))..(defun.mocklet-function. |
| 2fe0 | 28 73 70 65 63 20 62 6f 64 79 2d 66 75 6e 63 29 0a 20 20 28 77 69 74 68 2d 6d 6f 63 6b 0a 20 20 | (spec.body-func)...(with-mock... |
| 3000 | 20 20 28 65 76 61 6c 20 28 6d 6f 63 6b 2d 70 61 72 73 65 2d 73 70 65 63 20 73 70 65 63 29 29 0a | ..(eval.(mock-parse-spec.spec)). |
| 3020 | 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 62 6f 64 79 2d 66 75 6e 63 29 29 29 0a 0a 28 64 65 66 6d | ....(funcall.body-func)))..(defm |
| 3040 | 61 63 72 6f 20 6d 6f 63 6b 6c 65 74 20 28 73 70 65 63 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 | acro.mocklet.(speclist.&rest.bod |
| 3060 | 79 29 0a 20 20 22 60 6c 65 74 27 2d 6c 69 6b 65 20 69 6e 74 65 72 66 61 63 65 20 6f 66 20 60 77 | y)..."`let'-like.interface.of.`w |
| 3080 | 69 74 68 2d 6d 6f 63 6b 27 2c 20 60 6d 6f 63 6b 27 2c 20 60 6e 6f 74 2d 63 61 6c 6c 65 64 27 20 | ith-mock',.`mock',.`not-called'. |
| 30a0 | 61 6e 64 20 60 73 74 75 62 27 2e 0a 0a 43 72 65 61 74 65 20 6d 6f 63 6b 73 20 61 6e 64 20 73 74 | and.`stub'...Create.mocks.and.st |
| 30c0 | 75 62 73 20 64 65 73 63 72 69 62 65 64 20 62 79 20 53 50 45 43 4c 49 53 54 20 74 68 65 6e 20 65 | ubs.described.by.SPECLIST.then.e |
| 30e0 | 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 4f 44 59 2e 0a 53 50 45 43 4c 49 | xecute.the.forms.in.BODY..SPECLI |
| 3100 | 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6d 6f 63 6b 2f 6e 6f 74 2d 63 61 6c 6c 65 64 2f | ST.is.a.list.of.mock/not-called/ |
| 3120 | 73 74 75 62 20 73 70 65 63 2e 0a 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 | stub.spec..The.value.returned.is |
| 3140 | 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 |
| 3160 | 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 |
| 3180 | 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. |
| 31a0 | 72 65 6c 65 61 73 65 64 2e 0a 0a 53 79 6e 6f 70 73 69 73 20 6f 66 20 73 70 65 63 3a 0a 53 70 65 | released...Synopsis.of.spec:.Spe |
| 31c0 | 63 20 69 73 20 61 72 67 75 6d 65 6e 74 73 20 6f 66 20 60 6d 6f 63 6b 27 2c 20 60 6e 6f 74 2d 63 | c.is.arguments.of.`mock',.`not-c |
| 31e0 | 61 6c 6c 65 64 27 20 6f 72 20 60 73 74 75 62 27 2e 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 41 | alled'.or.`stub'..*.((FUNCTION.A |
| 3200 | 52 47 53 2e 2e 2e 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 6d 6f 63 6b | RGS...))..................:.mock |
| 3220 | 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 0a 2a 20 28 28 46 55 4e 43 54 49 4f 4e 20 | .which.returns.nil.*.((FUNCTION. |
| 3240 | 41 52 47 53 2e 2e 2e 29 20 3d 3e 20 52 45 54 55 52 4e 2d 56 41 4c 55 45 29 20 20 3b 20 6d 6f 63 | ARGS...).=>.RETURN-VALUE)..;.moc |
| 3260 | 6b 20 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 0a 2a 20 28 | k.which.returns.RETURN-VALUE.*.( |
| 3280 | 28 46 55 4e 43 54 49 4f 4e 20 41 52 47 53 2e 2e 2e 29 20 3a 74 69 6d 65 73 20 4e 20 29 20 20 20 | (FUNCTION.ARGS...).:times.N.)... |
| 32a0 | 20 20 20 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 | .....;.mock.to.be.called.N.times |
| 32c0 | 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 4e | .*.((FUNCTION.ARGS...).=>.RETURN |
| 32e0 | 2d 56 41 4c 55 45 20 3a 74 69 6d 65 73 20 4e 20 29 20 20 3b 20 6d 6f 63 6b 20 74 6f 20 62 65 20 | -VALUE.:times.N.)..;.mock.to.be. |
| 3300 | 63 61 6c 6c 65 64 20 4e 20 74 69 6d 65 73 0a 2a 20 28 46 55 4e 43 54 49 4f 4e 29 20 20 20 20 20 | called.N.times.*.(FUNCTION)..... |
| 3320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 73 74 75 62 20 77 68 | .......................:.stub.wh |
| 3340 | 69 63 68 20 72 65 74 75 72 6e 73 20 6e 69 6c 0a 2a 20 28 46 55 4e 43 54 49 4f 4e 20 3d 3e 20 52 | ich.returns.nil.*.(FUNCTION.=>.R |
| 3360 | 45 54 55 52 4e 2d 56 41 4c 55 45 29 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 74 75 62 20 77 | ETURN-VALUE)............;.stub.w |
| 3380 | 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 0a 2a 20 28 46 55 4e | hich.returns.RETURN-VALUE.*.(FUN |
| 33a0 | 43 54 49 4f 4e 20 6e 6f 74 2d 63 61 6c 6c 65 64 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | CTION.not-called)............... |
| 33c0 | 20 20 3b 20 6e 6f 74 2d 63 61 6c 6c 65 64 20 46 55 4e 43 54 49 4f 4e 0a 0a 41 52 47 53 20 74 68 | ..;.not-called.FUNCTION..ARGS.th |
| 33e0 | 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 |
| 3400 | 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 |
| 3420 | 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 |
| 3440 | 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 |
| 3460 | 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 |
| 3480 | 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 |
| 34a0 | 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 |
| 34c0 | 3a 0a 20 20 28 6d 6f 63 6b 6c 65 74 20 28 28 28 6d 6f 63 6b 2d 6e 69 6c 20 31 29 29 0a 20 20 20 | :...(mocklet.(((mock-nil.1)).... |
| 34e0 | 20 20 20 20 20 20 20 20 20 28 28 6d 6f 63 6b 2d 31 20 2a 29 20 3d 3e 20 31 29 0a 20 20 20 20 20 | .........((mock-1.*).=>.1)...... |
| 3500 | 20 20 20 20 20 20 20 28 73 74 75 62 2d 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | .......(stub-nil).............(s |
| 3520 | 74 75 62 2d 32 20 3d 3e 20 32 29 29 0a 20 20 20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 6d 6f 63 | tub-2.=>.2)).....(and.(null.(moc |
| 3540 | 6b 2d 6e 69 6c 20 31 29 29 20 20 20 20 28 3d 20 28 6d 6f 63 6b 2d 31 20 34 29 20 31 29 0a 20 20 | k-nil.1))....(=.(mock-1.4).1)... |
| 3560 | 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 28 73 74 75 62 2d 6e 69 6c 20 27 61 6e 79 29 29 20 28 3d | .......(null.(stub-nil.'any)).(= |
| 3580 | 20 28 73 74 75 62 2d 32 29 20 32 29 29 29 20 3b 20 3d 3e 20 74 0a 22 0a 20 20 60 28 6d 6f 63 6b | .(stub-2).2))).;.=>.t."...`(mock |
| 35a0 | 6c 65 74 2d 66 75 6e 63 74 69 6f 6e 20 27 2c 73 70 65 63 6c 69 73 74 20 28 6c 61 6d 62 64 61 20 | let-function.',speclist.(lambda. |
| 35c0 | 28 29 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 73 74 75 62 6c 65 74 | ().,@body)))..(defalias.'stublet |
| 35e0 | 20 27 6d 6f 63 6b 6c 65 74 29 0a 0a 28 70 75 74 20 27 77 69 74 68 2d 6d 6f 63 6b 20 27 6c 69 73 | .'mocklet)..(put.'with-mock.'lis |
| 3600 | 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 30 29 0a 28 70 75 74 20 27 77 69 74 68 2d | p-indent-function.0).(put.'with- |
| 3620 | 73 74 75 62 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f 6e 20 30 29 0a 28 70 | stub.'lisp-indent-function.0).(p |
| 3640 | 75 74 20 27 6d 6f 63 6b 6c 65 74 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d 66 75 6e 63 74 69 6f | ut.'mocklet.'lisp-indent-functio |
| 3660 | 6e 20 31 29 0a 28 70 75 74 20 27 73 74 75 62 6c 65 74 20 27 6c 69 73 70 2d 69 6e 64 65 6e 74 2d | n.1).(put.'stublet.'lisp-indent- |
| 3680 | 66 75 6e 63 74 69 6f 6e 20 31 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 65 6c 2d 6d 6f 63 6b 29 0a | function.1)..(provide.'el-mock). |
| 36a0 | 0a 3b 3b 3b 20 65 6c 2d 6d 6f 63 6b 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 | .;;;.el-mock.el.ends.here....... |
| 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 | ................................ |