Commit Graph
67 Commits
Author SHA1 Message Date
07d45d2d7a switch tests to snapshot assertions (#958)
* install spatie/phpunit-snapshot-assertions

* switch GenerateBasicPhpdocFinal test to snapshot assertion

* use v3 of spatie/phpunit-snapshot-assertions to be PHP7.2 compatible

* add txt snapshot driver

* fix EloquentCommandTest

* replace all heredocs by snapshots

* make test compatible with old/deprecated versions

* Update composer.json

* normalize composer.json

* fix merge conflict

* Allow older snapshot versions

* normalize composer.json

Co-authored-by: Barry vd. Heuvel <[email protected]>
Co-authored-by: barryvdh <[email protected]>
2020-06-24 11:11:35 +02:00
feek 4aa919c09f chore: psr12 (#964) 2020-06-23 06:59:56 +02:00
feek 4cd3362dfd [Chore] Composer 2 support (#963)
* chore: update grumphp

* chore: allow composer 2 packages
2020-06-23 06:59:04 +02:00
feekandmr-feek 545298c44d [Chore] Introduce psalm (#962)
* chore: introduce psalm

* chore: remove dead code

* chore: run psalm workflow

* chore: run psalm in grumphp

* normalize composer.json

* chore: analyse --> analyze

* chore: just remove psalm when running tests instead of worrying about dependency mismatch hell

Co-authored-by: mr-feek <[email protected]>
2020-06-22 20:28:59 +02:00
Barry vd. HeuvelandMarkus Podar 3381123e71 Use Github Actions (#960)
* Use Github Actions

* Fix PHP versions

* Update run-tests.yml

* Update run-tests.yml

* Delete .travis.yml

* Update run-tests.yml

* Update composer.json

* Update run-tests.yml

* Update .github/workflows/run-tests.yml

Co-authored-by: Markus Podar <[email protected]>

* Update .github/workflows/run-tests.yml

Co-authored-by: Markus Podar <[email protected]>

Co-authored-by: Markus Podar <[email protected]>
2020-06-22 17:46:01 +02:00
Tom Witkowski 94948e4f2c composer normalize (#959)
* add gh action

* normalize composer.json
2020-06-22 17:32:22 +02:00
Gabriel Langer 6f20800eef [Model] Simplify full namespaces for already included resources (#954)
* Fixed #565 by using the imported class name if present. Fixed a bug where cast type was not properly added when the return type was found via phpdoc.

* Fixed errors with phpdocumentor/type-resolver:1.0
2020-06-20 12:53:36 +02:00
Barry vd. Heuvel 1d1484025c Test L7 (#899)
* Test L7

* Update composer.json
2020-03-10 15:00:00 +01:00
Barry vd. Heuvel edd69c5e05 Allow L7 2020-02-25 21:41:32 +01:00
Markus Podar d3b24ffeae Bump grumphp version (#867)
The current version emits the following:
```
Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in laravel-ide-helper/vendor/phpro/grumphp/src/Locator/ConfigurationFile.php on line 75

Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in laravel-ide-helper/vendor/phpro/grumphp/src/Locator/ConfigurationFile.php on line 75

```

Manually tested it locally, worked as expected.
2020-01-02 15:21:05 +01:00
Markus Podar 015cc6c493 Drop support for PHP < 7.2 and improve test matrix (#868)
* travis: use explicit test matrix and drop PHP < 7.2

* composer: use more liberal version requirements for orchestra

This is to easier satisfy when we want to use older Laravel versions on travis

* tests: add shim for assertStringContainsString for older Laravel/phpunit versions

Specifically, Laravel 5.5 works with an older phpunit version, which
does not feature assertStringContainsString

* composer: bump minimum PHP version to 7.2

* travis: explicitly install Mockery for testing older Laravel versions

* composer: make mockery a root requirement and remove the one from travis

* travis: further improve based on suggestions from https://github.com/fruitcake/laravel-cors/blob/master/.travis.yml

* tests: skip test if mixin markers are already present in model

We're also testing Laravel 5.5 which contains them (they were removed later)
2020-01-02 14:39:34 +01:00
Markus Podar 44f289f76a [CHORE] Remove unused/stale utilities (#866)
* Remove grumphp

It reports so many violations, I don't think anyone paid attention
to them in some time.

Also there's code sniffer which is:
- installed
- works
- and also run on travis explicitly

Here are the current violations:

```
$ vendor/bin/grumphp run
PHP Deprecated:  strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /Users/mfischer/src/laravel-ide-helper/vendor/phpro/grumphp/src/Locator/ConfigurationFile.php on line 75

Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /Users/mfischer/src/laravel-ide-helper/vendor/phpro/grumphp/src/Locator/ConfigurationFile.php on line 75
GrumPHP is sniffing your code!✘
Running task 2/2: Phpunit... ✔
             ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
           ▄▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
         ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄
        ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
       ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
  ▄███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
 ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
   ▀█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌
     ▀▀▓▓▓▓▓▓▓▓▓▓▓▓█▀▀▀▀▀▀▀▀▀▀▀▀▀▀████████████▄
      ▄███████                       ██████████
     ███████▀  ▀▀▀▀▀▄      ▄▀▀▀▀▀     █████ ▀
      ▐████      ▐██        ▐██        ████▌
      ████▌                            ███
       ▌██▌           ▄▄ ▄▄           ▐███
        ███       ▄▄▄▄▄▄▄▄▄▄▄▄       ▐███
         ██▄ ▐███████████████████████████
        █▀███████████▀     ▀▀███████████
          ██████████▄███████▄███████████
         ▐█████████████████████████████
          █████████████████████████████
           ██ █████████████████████▐██▀
            ▀ ▐███████████████████▌ ▐▀
                ████▀████████▀▐███
                 ▀█▌  ▐█████  ██▌
                        ██▀   ▐▀

       ██████████████████████████████████
       █░░░░░░▀█▀░░░░░░▀█░░░░░░▀█▀░░░░░▀█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░██░░░█░░░██░░█
       █░░▐█▌░░█░░░██░░░█░░░░░░▄█░░▄▄▄▄▄█
       █░░▐█▌░░█░░░██░░░█░░░░████░░░░░░░█
       █░░░█░░░█▄░░░░░░▄█░░░░████▄░░░░░▄█
       ██████████████████████████████████

FILE: ...Users/mfischer/src/laravel-ide-helper/resources/views/helper.php
----------------------------------------------------------------------
FOUND 46 ERRORS AND 3 WARNINGS AFFECTING 24 LINES
----------------------------------------------------------------------
  23 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  23 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  24 | ERROR   | [x] Line indented incorrectly; expected at least 4
     |         |     spaces, found 0
  24 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  24 | ERROR   | [x] Newline required after opening brace
  24 | ERROR   | [x] Closing brace must be on a line by itself
  24 | ERROR   | [x] Each PHP statement must be on a line by itself
  26 | ERROR   | [x] Line indented incorrectly; expected at least 4
     |         |     spaces, found 0
  26 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  26 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  26 | ERROR   | [x] Blank line found at start of control structure
  28 | ERROR   | [x] Line indented incorrectly; expected at least 8
     |         |     spaces, found 4
  29 | ERROR   | [x] Line indented incorrectly; expected at least 8
     |         |     spaces, found 4
  30 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  30 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  30 | ERROR   | [x] Blank line found at start of control structure
  32 | ERROR   | [x] Line indented incorrectly; expected at least 12
     |         |     spaces, found 8
  34 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  34 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  34 | ERROR   | [x] Blank line found at start of control structure
  37 | ERROR   | [x] Closing brace indented incorrectly; expected 9
     |         |     spaces, found 12
  39 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  39 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  51 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  51 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  53 | ERROR   | [x] Line indented incorrectly; expected at least 4
     |         |     spaces, found 0
  53 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  53 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  53 | ERROR   | [x] Blank line found at start of control structure
  55 | ERROR   | [x] Line indented incorrectly; expected at least 8
     |         |     spaces, found 4
  55 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  55 | WARNING | [ ] Line exceeds 120 characters; contains 180
     |         |     characters
  56 | ERROR   | [x] Expected 1 space(s) after FOREACH keyword; 0
     |         |     found
  56 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  59 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  59 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  59 | ERROR   | [x] Blank line found at start of control structure
  62 | ERROR   | [x] Closing brace indented incorrectly; expected 13
     |         |     spaces, found 16
  64 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  64 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  70 | ERROR   | [x] Closing brace indented incorrectly; expected 4
     |         |     spaces, found 0
  76 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  76 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
  78 | ERROR   | [x] Line indented incorrectly; expected at least 4
     |         |     spaces, found 0
  82 | ERROR   | [x] Expected 1 space(s) after IF keyword; 0 found
  82 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
 109 | ERROR   | [x] Expected 1 space(s) after closing parenthesis;
     |         |     found 0
 112 | WARNING | [ ] Line exceeds 120 characters; contains 141
     |         |     characters
 113 | WARNING | [ ] Line exceeds 120 characters; contains 139
     |         |     characters
----------------------------------------------------------------------
PHPCBF CAN FIX THE 46 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

FILE: /Users/mfischer/src/laravel-ide-helper/resources/views/meta.php
----------------------------------------------------------------------
FOUND 10 ERRORS AFFECTING 6 LINES
----------------------------------------------------------------------
 14 | ERROR | [x] Expected 1 space(s) after closing parenthesis;
    |       |     found 0
 17 | ERROR | [x] Line indented incorrectly; expected at least 4
    |       |     spaces, found 0
 17 | ERROR | [x] Expected 1 space(s) after FOREACH keyword; 0 found
 17 | ERROR | [x] Expected 1 space(s) after closing parenthesis;
    |       |     found 0
 23 | ERROR | [x] Expected 1 space(s) after closing parenthesis;
    |       |     found 0
 24 | ERROR | [x] Spaces must be used to indent lines; tabs are not
    |       |     allowed
 26 | ERROR | [x] Line indented incorrectly; expected at least 4
    |       |     spaces, found 0
 26 | ERROR | [x] Expected 1 space(s) after FOREACH keyword; 0 found
 26 | ERROR | [x] Expected 1 space(s) after closing parenthesis;
    |       |     found 0
 29 | ERROR | [x] Spaces must be used to indent lines; tabs are not
    |       |     allowed
----------------------------------------------------------------------
PHPCBF CAN FIX THE 10 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

Time: 260ms; Memory: 12MB
```

* Remove scrutinizer/ocular

Looks unused, also not used on travis

* Remove StyleCI

Isn't enabled

* Revert "Remove grumphp"

This reverts commit a69696f0

* grumphp: add whitelist to ignore the resources/ folder

* grumphp: per .editorconf the indentation is 4 spaces, not 2
2020-01-02 11:34:21 +01:00
Markus Podar fb0c576806 [PROPOSAL] Add more tests to the library (#865)
* phpunit: use dedicate `Tests` namespace for tests

* tests: replace phpunit with orchestra/testbench

* phpunit: ignore result cache file

* phpunit: adapt test for newer version

* tests: add base testcase class with a helper to run/assert commands

* tests: add test for ide-helper:eloquent

* travis: add global default variables

* travis: disable xdebug, speeds up running tests

* travis: convert php versions to build matrix for environment vars

* travis: only run phpcs/phpunit when the env vars signal it

However phpcs only runs with one test combination from the matrix,
not necessary to execute it every time.
2020-01-01 22:51:21 +01:00
Barry vd. Heuvel f8a8cb18e0 Always require doctrine 2019-09-08 11:36:40 +02:00
Barry vd. Heuvel 7b4cef1ea4 Update composer.json 2019-08-23 14:21:37 +02:00
Kyle 4cd11a4d33 Allow Laravel 5.8 (#754) 2019-01-28 21:24:50 +01:00
Barry vd. Heuvel 5439781e7c Update composer.json 2018-12-19 13:13:32 +01:00
Jeppe Knockaert b0ce5325de Update ReflectionDocBlock to v2.0.6
This update improves the parsing of return types, allowing array return
types to be recognized.

This was needed to properly recognize the files and allFiles methods as
duplicates (the function filtering duplicate definitions -
`removeDuplicateMethodsFromPhpDoc` in `Alias.php` - didn't recognise
them as duplicates, because the return type was seen as part of the name).
2018-12-17 18:15:59 +01:00
Jeppe Knockaert 2ab961e734 Prevent duplicate function declarations in docblocks
When a method is declared both in the phpdoc and in the class itself,
PhpStorm (2018.3) complains about duplicate function declarations, preventing
correct code hinting.

To solve this, I remove the already declared functions from the generated dockblocks.
2018-11-07 20:59:15 +01:00
Barry vd. Heuvel 09db8c9a76 Update composer.json 2018-08-31 15:28:09 +02:00
kevin d55b48476e Laravel 5.7 support
Added Laravel 5.7 support
2018-08-15 09:57:53 +02:00
Barry vd. Heuvel 930e5bd301 Update composer.json 2018-05-07 11:49:06 +02:00
Barry vd. Heuvel 930d258cd4 Update composer.json 2018-05-07 11:48:47 +02:00
Barry vd. Heuvel 50ecd8b815 Update CS, typo 2018-05-07 11:38:57 +02:00
Barry vd. Heuvel 1b70277203 Typo 2018-05-07 11:25:19 +02:00
Tom Rochette b1b05b694b Remove dependecy to Symfony\Component\ClassLoader\ClassMapGenerator and replace it with Composer\Autoload\ClassMapGenerator. 2018-05-03 16:02:16 -04:00
Barry vd. Heuvel 387efb9b42 Allow L5.6 2018-02-07 09:31:35 +01:00
dannehl 87a02ff574 added L55-support (#525) 2017-06-16 16:08:59 +02:00
Abdelrahman Omran 0e4b9b77c3 Support Auto-Discovery (#524) 2017-06-14 19:56:10 +02:00
theMadness 75e1f22ec6 Decoupled from main app View Factory (#475) 2017-03-31 11:14:28 +02:00
Barry vd. Heuvel 56660cab84 Update composer.json 2017-02-14 16:45:07 +01:00
Barry vd. Heuvel df3ecb2843 Update composer.json 2016-12-09 12:13:18 +01:00
Barry vd. Heuvel 28af7cd19c Update composer.json 2016-07-04 13:52:48 +02:00
Barry vd. Heuvel 3064296216 Use fork of reflection docblock 2016-06-13 21:35:48 +02:00
Barry vd. Heuvel bae462604e Add test config, CS rules and fix CS 2016-06-08 21:36:25 +02:00
Alex Bowers 8de1673535 Update composer.json 2016-05-01 00:08:49 +01:00
Barry vd. Heuvel 19553f63e4 Update composer.json 2016-03-02 11:03:09 +01:00
Stéphane Goetz cc794a2fba Allow symfony/class-loader 3.0 to be installed 2016-01-03 11:25:12 +01:00
Barry vd. Heuvel aec17e3327 Update composer.json 2015-12-11 09:26:59 +01:00
Barry vd. Heuvel 83999f8467 Bump version 2015-08-13 13:40:00 +02:00
Barry vd. Heuvel 5aa0f55d2f Update composer.json 2015-06-07 15:09:00 +02:00
Barry vd. Heuvel b1dedc3ee6 5.1 support 2015-05-03 16:00:11 +02:00
Barry vd. Heuvel 1d4df779d8 Update branches 2015-02-03 21:01:58 +01:00
Barry vd. Heuvel ab50c245d0 Update config/resources for L5 2015-01-28 09:34:45 +01:00
Barry vd. Heuvel 03cc70759b Update composer.json 2014-09-15 17:20:52 +02:00
Barry vd. Heuvel e9bc9347cc Cleanup 2014-08-06 19:27:22 +02:00
Barry vd. Heuvel 3151019947 Use PSR-4 2014-08-05 20:06:07 +02:00
Graham Campbell 32187a580c Update composer.json 2014-07-27 18:47:51 +01:00
Barry vd. Heuvel a9dae91e4d Require doctrine for dev 2014-06-29 16:07:17 +02:00
Barry vd. Heuvel 0b70167182 Make doctrine optional
Not needed for most people.
2014-06-29 12:35:57 +02:00