1f47bee6bSNicolas GERARD# Contrib 2f47bee6bSNicolas GERARD 3f47bee6bSNicolas GERARD 4f47bee6bSNicolas GERARD 5f47bee6bSNicolas GERARD## Main 6f47bee6bSNicolas GERARD 7f47bee6bSNicolas GERARDThe main entrypoint is the [docustom.php action script](action/docustom.php). ie 8f47bee6bSNicolas GERARD(ie a `do` custom action) that takes over action such as `show` (default). 9f47bee6bSNicolas GERARD 10f47bee6bSNicolas GERARD 11f47bee6bSNicolas GERARD 12*f01167beSNicolas GERARD 13*f01167beSNicolas GERARD## Laptop Dev Installation Steps 14*f01167beSNicolas GERARD 15*f01167beSNicolas GERARD 16*f01167beSNicolas GERARD* Clone Dokuwiki to get: 17*f01167beSNicolas GERARD * the base DokuWikiTest class 18*f01167beSNicolas GERARD * and `_test\phpunit.xml` 19*f01167beSNicolas GERARD```bash 20*f01167beSNicolas GERARDgit clone https://github.com/dokuwiki/dokuwiki combo 21*f01167beSNicolas GERARDcd combo 22*f01167beSNicolas GERARD``` 23*f01167beSNicolas GERARD* Clone Combo 24*f01167beSNicolas GERARD```bash 25*f01167beSNicolas GERARDcd lib/plugins/ 26*f01167beSNicolas GERARDgit clone git@github.com:ComboStrap/combo 27*f01167beSNicolas GERARD``` 28*f01167beSNicolas GERARD* Intellij 29*f01167beSNicolas GERARD * add it as registered root (Intellij> Version Control > Directory Mapping) 30*f01167beSNicolas GERARD * Set it as source root 31*f01167beSNicolas GERARD* Clone the tests 32*f01167beSNicolas GERARD```bash 33*f01167beSNicolas GERARDcd combo 34*f01167beSNicolas GERARDgit clone git@github.com:ComboStrap/combo_test.git _test 35*f01167beSNicolas GERARD``` 36*f01167beSNicolas GERARD* Install phpunit 37*f01167beSNicolas GERARD```bash 38*f01167beSNicolas GERARDcd dokuwiki/_test 39*f01167beSNicolas GERARDcomposer install 40*f01167beSNicolas GERARD``` 41*f01167beSNicolas GERARD 42*f01167beSNicolas GERARD### Intellij Php WSL 43*f01167beSNicolas GERARD 44*f01167beSNicolas GERARD 45*f01167beSNicolas GERARDFollowing [](https://www.jetbrains.com/help/phpstorm/how-to-use-wsl-development-environment-in-product.html#open-a-project-in-wsl) 46*f01167beSNicolas GERARD 47*f01167beSNicolas GERARD* Install the plugin PHP WSL Support 48*f01167beSNicolas GERARD* Add Php Cli Interpreter on WSL. Intellij > Settings > Php > Cli Interpreter 49*f01167beSNicolas GERARD* Firewall from an elevated PowerShell 50*f01167beSNicolas GERARD```powershell 51*f01167beSNicolas GERARDNew-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL (Hyper-V firewall))" -Action Allow 52*f01167beSNicolas GERARDGet-NetFirewallProfile -Name Public | Get-NetFirewallRule | where DisplayName -ILike "IntelliJ IDEA*" | Disable-NetFirewallRule 53*f01167beSNicolas GERARD``` 54*f01167beSNicolas GERARD* Intellij > Settings > Php > Test Framework 55*f01167beSNicolas GERARD```yaml 56*f01167beSNicolas GERARDUse_autoloaoder: combo\_test\vendor\autoload.php 57*f01167beSNicolas GERARDUse_default_configuration_file: combo/_test/phpunit.xml 58*f01167beSNicolas GERARDUse_default_bootstrap_file: combo/lib/plugins/combo/_test/bootstrap.php 59*f01167beSNicolas GERARD``` 60*f01167beSNicolas GERARD* Intellij Test Runner Configuration 61*f01167beSNicolas GERARD```yaml 62*f01167beSNicolas GERARDUse_alternative_configuration_file: combo/_test/phpunit.xml 63*f01167beSNicolas GERARDUse_alternative_bootstrap_file: combo/lib/plugins/combo/_test/bootstrap.php 64*f01167beSNicolas GERARD``` 65*f01167beSNicolas GERARD* Install Xdebug 66