|
| 1 | +# FileSystemWatcherMock |
| 2 | + |
| 3 | +This document explains the implementation of the `FileSystemWatcherMock` class. |
| 4 | + |
| 5 | +## Events |
| 6 | + |
| 7 | +Before we can go into the different events the operating systems fire, we first have to define the locations the entry |
| 8 | +can be moved from and to. |
| 9 | + |
| 10 | +| Location | Description | |
| 11 | +|----------|--------------------------------------------------------| |
| 12 | +| _ | Entry was created or deleted | |
| 13 | +| Outside | The location is outside the watching path | |
| 14 | +| Inside | The location is immediately inside the watching path | |
| 15 | +| Nested | The location is nested under the watching path | |
| 16 | +| Deep | The location is deeply nested inside the watching path | |
| 17 | + |
| 18 | +For `IncludeSubdirectories = false` we have the following event table: |
| 19 | + |
| 20 | +| From -> To | Linux | Windows | Mac | |
| 21 | +|-------------------|-----------|-----------|-----------| |
| 22 | +| _ -> Inside | `Created` | `Created` | `Created` | |
| 23 | +| Inside -> _ | `Deleted` | `Deleted` | `Deleted` | |
| 24 | +| _ -> Nested | - | - | - | |
| 25 | +| Nested -> _ | - | - | - | |
| 26 | +| _ -> Deep | - | - | - | |
| 27 | +| Deep -> _ | - | - | - | |
| 28 | +| Outside -> Inside | `Created` | `Created` | `Created` | |
| 29 | +| Inside -> Inside | `Renamed` | `Renamed` | `Renamed` | |
| 30 | +| Inside -> Outside | `Deleted` | `Deleted` | `Deleted` | |
| 31 | +| Outside -> Nested | - | - | - | |
| 32 | +| Nested -> Nested | - | - | - | |
| 33 | +| Nested -> Outside | - | - | - | |
| 34 | +| Outside -> Deep | - | - | - | |
| 35 | +| Deep -> Deep | - | - | - | |
| 36 | +| Deep -> Outside | - | - | - | |
| 37 | +| Inside -> Nested | `Deleted` | `Deleted` | `Renamed` | |
| 38 | +| Inside -> Deep | `Deleted` | `Deleted` | `Renamed` | |
| 39 | +| Nested -> Inside | `Created` | `Created` | `Created` | |
| 40 | +| Deep -> Inside | `Created` | `Created` | `Created` | |
| 41 | +| Nested -> Deep | - | - | - | |
| 42 | +| Deep -> Nested | - | - | - | |
| 43 | + |
| 44 | +For `IncludeSubdirectories = true` we have the following event table: |
| 45 | + |
| 46 | +| From -> To | Linux | Windows | Mac | |
| 47 | +|-------------------|-----------|-----------------------|-----------| |
| 48 | +| _ -> Inside | `Created` | `Created` | `Created` | |
| 49 | +| Inside -> _ | `Deleted` | `Deleted` | `Deleted` | |
| 50 | +| _ -> Nested | `Created` | `Created` | `Created` | |
| 51 | +| Nested -> _ | `Deleted` | `Deleted` | `Deleted` | |
| 52 | +| _ -> Deep | `Created` | `Created` | `Created` | |
| 53 | +| Deep -> _ | `Deleted` | `Deleted` | `Deleted` | |
| 54 | +| Outside -> Inside | `Created` | `Created` | `Created` | |
| 55 | +| Inside -> Inside | `Renamed` | `Renamed` | `Renamed` | |
| 56 | +| Inside -> Outside | `Deleted` | `Deleted` | `Deleted` | |
| 57 | +| Outside -> Nested | `Created` | `Created` | `Created` | |
| 58 | +| Nested -> Nested | `Renamed` | `Renamed` | `Renamed` | |
| 59 | +| Nested -> Outside | `Deleted` | `Deleted` | `Deleted` | |
| 60 | +| Outside -> Deep | `Created` | `Created` | `Created` | |
| 61 | +| Deep -> Deep | `Renamed` | `Renamed` | `Renamed` | |
| 62 | +| Deep -> Outside | `Deleted` | `Deleted` | `Deleted` | |
| 63 | +| Inside -> Nested | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 64 | +| Inside -> Deep | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 65 | +| Nested -> Inside | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 66 | +| Deep -> Inside | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 67 | +| Nested -> Deep | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 68 | +| Deep -> Nested | `Renamed` | `Deleted` + `Created` | `Renamed` | |
| 69 | + |
0 commit comments