twifty / atom-phpunit-integrator Goto Github PK
View Code? Open in Web Editor NEWPHPUnit for the Atom editor
License: MIT License
PHPUnit for the Atom editor
License: MIT License
The setUp
and tearDown
methods of an auto generated test class are missing docblocks.
Not sure how or why this happened, but in the latest releases, I think around 0.0.47 or 0.0.48, these both seem to have disappeared. I have xdebug disabled in php.ini
but have configured xdebug.so
via the package settings.
The styling has much improved since the headers were added to the tests tree and the classes are collapsed by default (on passing tests contained in it).
The icons also match Atom a lot better now, thanks!
A minor nitpick about the buttons is that they currently still contain custom styling by some sort of white-grey border. The styleguide contains classes for buttons that contain icons, such as the btn
class, under the "Icon buttons" heading. These also include hover states and such as styled by the theme. I think using these for the tests panel buttons may further improve the styling.
Apart from that, in the short time this package has been released, it went from a not-so-great look to a pretty awesome look!
I also like how the overview row on the bottom of the tree is now colored according to whether tests passed or not, it really helps by throwing failed tests in your face so you don't miss them.
Finally, I originally mentioned that the percentages in the tree don't take away the focus, but found myself experimenting a bit today with alternative solutions anyway. Alas, I didn't find a better way to display them. I tried:
I also thought of making them toggleable, but then I think you'd usually just ignore them as well. Besides, there is already the code coverage panel for seeing that. I see PhpStorm also just uses a slightly less apparent color, so perhaps a change isn't necessary.
Currently when running multiple test suite/files, there is no indication of progress.
Perhaps adding a progress bar below the result tree, visible only during batch tests, would help.
When a project contains multiple test ruites, such as, coincidentally, PHP Integrator's core, you can only run one suite at a time. It would be handy to be able to run all suites in one run, such as phpunit does by default.
I assume, but may be wrong in, that this also causes code coverage information to not be complete, as it only shows the sole test suite that ran.
Goto Test Suite/Case as well as running a test from a non test source file appears to be broken.
The columns in the body do not line up with the header. This is especially noticeable when there is a scrollbar.
This is something I saw (stole) from PhpStorm. As is currently the case, there is also a tab that shows a list of files that have code coverage and how much coverage they have. PhpStorm provides an additional integration with the tree view - screenshot I shamelessly plugged from somewhere - that does the same, but shows the percentages next to the file names.
The advantage would be that you're constantly confronted with the coverage whilst browsing the tree view and, for the most part, the dock/pane displaying may even be replaced for the most part (though it may still be useful in a very large codebase where there is little coverage).
This is more of an idea, to put a bug in your ear, so feel free to close this if it is unfeasible or you don't feel it's something you want to do.
I've been using php-unit-integrator for a while now, and overall it's pretty much anything I'd expect of a test running package. ๐
Today, I was running tests and apparently I broke something (happens). However, whilst I did run the tests at a later point, I still didn't see that the tests were failing. The bottom bar lists the amount of failed tests, but it blends in with the rest of the panel. A button pops up to filter failed tests only when there are some to filter, but I didn't notice this change either. Finally, there were some failed tests in the tree, but they were listed further down, so they couldn't be seen without scrolling first.
Perhaps moving failed tests up top or providing some other overall obvious status on the top of the panel would be appropriate? This could be as simple as an obvious red message stating "Some tests failed" and a green text "All tests passing" otherwise.
What do you think? Or maybe I'm just not paying enough attention... ๐ .
The interface seems to be botched since the 0.0.6 release, not sure what happened here. Thought I'd let you know.
Running the tests tries to expand the view to make it larger and larger, but it does not add a scrollbar, so the test output eventually fills the entire dock.
This seems to happen with all themes.
This idea comes from the fact that, when one of my tests fail and I'm making modifications, I find myself constantly re-expanding the failed test output, sometimes to discover that I didn't actually fix the original issue, and sometimes to find that a new issue popped up. With a quick test-modify-test cycle, expanding in the tree every time quickly becomes a nuisance.
This may be a bit controversial, as the tree will expand in size rather quickly if this happens if there are many failing tests or there is just a lot of output from the failed test. Perhaps a setting for it may be appropriate.
To avoid large test output quickly making the tree large, you could also limit the height of the tree and show a "Show more" / "Show less" button to lift/reapply the height limitation.
When creating a new test class, it would be ideal for each public method to be auto generated. A selection should be provided to the user.
Since 0.0.44, whenever I run tests, the following error pops up:
TypeError: Cannot read property 'setAttribute' of undefined
at /home/werk/.atom/packages/php-unit-integrator/lib/views/php-unit-integrator-view.js:452:45
at ViewRegistry.performDocumentUpdate (/usr/lib/atom/src/view-registry.js:238:7)
Not sure where it's coming from.
Encountering this one after the update to 0.0.51:
TypeError: Cannot read property 'startsWith' of undefined
at /home/werk/.atom/packages/shared-settings/lib/shared-settings.js:18:67
at PaneContainer.observePaneItems (/usr/lib/atom/src/pane-container.js:104:45)
at WorkspaceCenter.observePaneItems (/usr/lib/atom/src/workspace-center.js:71:59)
at CompositeDisposable.getPaneContainers.map.container (/usr/lib/atom/src/workspace.js:637:62)
at Array.map (native)
at Workspace.observePaneItems (/usr/lib/atom/src/workspace.js:637:35)
at Object.activate (/home/werk/.atom/packages/shared-settings/lib/shared-settings.js:17:47)
at Package.activateNow (/usr/lib/atom/src/package.js:225:27)
at measure (/usr/lib/atom/src/package.js:201:27)
at Package.measure (/usr/lib/atom/src/package.js:83:19)
at activationPromise.Promise (/usr/lib/atom/src/package.js:195:14)
at Promise (<anonymous>)
at Package.activate (/usr/lib/atom/src/package.js:193:32)
at PackageManager.activatePackage (/usr/lib/atom/src/package-manager.js:684:36)
at config.transactAsync (/usr/lib/atom/src/package-manager.js:659:30)
at Config.transactAsync (/usr/lib/atom/src/config.js:866:22)
at PackageManager.activatePackages (/usr/lib/atom/src/package-manager.js:657:17)
at PackageManager.activate (/usr/lib/atom/src/package-manager.js:636:44)
at loadStatePromise.loadState.then (/usr/lib/atom/src/atom-environment.js:857:21)
at <anonymous>
I was also encountering a problem related to an unknown setting alwaysOpen
in 0.0.50, but I see you've modified code related to that in 0.0.51, so it's probably fixed (if it isn't, I'll let you know).
The coverage panel uses Math.round
on the percentage. This causes 95.6% coverage to become 100% which is obviously wrong.
It appears that failed test output that is rather wide is currently unreachable; scrolling horizontally does not appear to work.
Either scrolling or soft wrapping should probably do the trick :-).
This may be due to a setup issue on my side, but this context menu item appears to have no effect. It is available as option when right-clicking a test in the tests tree.
It would also be neat if this same behavior was achieved when a test in the tree is double-clicked (i.e. without having to right-click it first). Perhaps this is already the case, but I can't know for sure since the context menu isn't currently working for me either, so I thought I'd mention it anyways.
Also, a cursor: pointer
style for the tests in the tests tree may be handy to indicate the available interaction (collapse/expand/open).
The last line of a multi line statics is clipped. flex: 1 0 auto
will fix the issue.
The visual appearance of this package has already much improved since the first version, in my opinion. Design and usability isn't my expertise, but I thought I'd bounce some things I've noticed off of you, so you can decide if you want to fix them or not ๐.
title="Run tests"
in their HTML, so that hovering over the buttons shows what they dopassed
feels a bit redundant, as the icon already provides a (better) indicator of this; removing it would reduce clutter in the tests tree (optionally, you could also try adding title
attributes to the status icons)<div class='text-success'>Success text</div>
. Theme authors use the styleguide to theme everything in Atom and using these colors helps ensure the package looks visually appealing in even the most exuberant of themes.
Running all files/suites results in less coverage than running the single default suite. This discrepancy can be as much as 40%. Obviously there is a problem with how the reports are merged.
The test case names are truncated more than the parent suite names. This causes a large space between the ellipses and the time.
As PHPUnit runs all test suites by default, it is possible to exclude one or more from them via the <groups><exclude><group>MyGroup</group></exclude></groups>
tags.
PHP Integrator's core does this to avoid running the performance test suite by default, but to keep the unit and integration test suite running by default.
When running "all test suites", php-unit-integrator currently loops over the available ones and runs all of them, excluded or not.
I don't think it's necessary to actually read the PHPUnit file - you could do that nonetheless, of course. Instead, it may be easier to provide a "null" menu item in the list of suites that does not pass any suite arguments to PHPUnit, which would make it use its default behavior (and revert to what's specified in the XML). Setting this as default selection would apply the same behavior to this package as PHPUnit does via the command line.
Alternatively, you could make the suites dropdown a multiselect using checkboxes to toggle the ones you want.
Steps to reproduce:
Atom: 1.25.0 x64
Electron: 1.8.4
Thrown From: php-unit-integrator package 0.0.2
Failed to load the php-unit-integrator package
At variable @text-color-ignored is undefined in ~/.atom/packages/php-unit-integrator/styles/php-unit-integrator.less:116:17
LessError: variable @text-color-ignored is undefined
at ~/.atom/packages/php-unit-integrator/styles/php-unit-integrator.less:116:17
Not sure if this is something specific to my setup.
It's looking like Docker is the way forward for PHP development.
I currently have multiple packages which run either the PHP binary directly or binaries compiled to be used with PHP (composer, symfony, phpunit...). There are also multiple other packages out there doing similar.
Since it would be cumbersome to try adding the same code to each package, I suggest to create an npm
module which can read the atom shared.php
config (overridable by a package of course) and spawn the correct process.
I get this error in the console sometimes. It doesn't show up as error notification. I think it's related to the parsing of PHP code.
php-unit-proxy.js? [sm]:415 Uncaught (in promise) TypeError: Cannot read property 'Symbol(Symbol.iterator)' of null
at PhpUnitProxy.<anonymous> (php-unit-proxy.js? [sm]:358)
at Generator.next (<anonymous>)
at step (/home/user/.atom/packages/php-unit-integrator/lib/proxy/php-unit-proxy.js:9)
at <anonymous>
I also see this often when ysyntax errors occur, also in the developer tools console.
SyntaxError: Parse Error : syntax error, unexpected '$this' (T_VARIABLE), expecting ';' on line 91
at parser.raiseError (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser.js:290)
at parser.error (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser.js:335)
at parser.expectEndOfStatement (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser.js:360)
at parser.read_statement (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:368)
at parser.read_inner_statement (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:186)
at parser.read_inner_statements (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:86)
at parser.read_code_block (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:397)
at parser.read_function (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/function.js:47)
at parser.read_class_body (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/class.js:101)
at parser.read_class (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/class.js:28)
at parser.read_top_statement (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:46)
at parser.read_top_statements (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/statement.js:16)
at parser.read_namespace (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/namespace.js:33)
at parser.read_start (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser/main.js:15)
at parser.parse (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/parser.js:272)
at engine.parseCode (/home/user/.atom/packages/php-unit-integrator/node_modules/php-parser/src/index.js:168)
at PhpCoreService.<anonymous> (php-core-service.js? [sm]:94)
at Generator.next (<anonymous>)
at step (/home/user/.atom/packages/php-unit-integrator/lib/proxy/php-core-service.js:9)
at /home/user/.atom/packages/php-unit-integrator/lib/proxy/php-core-service.js:9
at Promise (<anonymous>)
at PhpCoreService.<anonymous> (/home/user/.atom/packages/php-unit-integrator/lib/proxy/php-core-service.js:9)
at PhpCoreService.<anonymous> (php-core-service.js? [sm]:31)
at Generator.next (<anonymous>)
at step (/home/user/.atom/packages/php-unit-integrator/lib/proxy/php-core-service.js:9)
at <anonymous>
This can be handy in some cases, such as when using paratest
, in which case you would add the amount of processes that may be spawned simultaneously via the -j<count>
argument (e.g. -j5
).
The coverage highlight of a single line is fixed at 100 characters. This should be changed to either the longest line in the editor or the current lines actual length
This error seems to occur when I double-click a test class name in the tests tree. Double-clicking the tests themselves, in the nodes underneath it, work fine, though.
At /home/user/.atom/packages/php-unit-integrator/lib/views/php-unit-report-view.js:328
TypeError: report.getFilePath is not a function
at handleDoubleClick (/packages/php-unit-integrator/lib/views/php-unit-report-view.js:328:22)
at Function.module.exports.Emitter.simpleDispatch (/usr/lib/atom/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/usr/lib/atom/node_modules/event-kit/lib/emitter.js:141:28)
at EtchTreeNode.value (/packages/php-unit-integrator/node_modules/colletch/components/etch-component.js:142:16)
at EtchTreeNode.onClick (/packages/php-unit-integrator/node_modules/colletch/components/etch-tree-node.js:127:23)
It would be neat if text could be selected inside the failed test output, just like it can in the console. I've heard from other package authors that this isn't always easy, though, so if it isn't possible, so be it ;-).
The '--- All ---' and '--- None ---' options in the multi selects are ugly. A better alternative would be to use word only but include a separator within the dropdown.
Hi
After your post on php-integrator, I decided to take your package for a spin. I wanted to give some feedback to help you along. Expect more tickets to show up in the coming minutes ๐.
A keyboard shortcut for running tests with would be handy. This prevents having the click the button with the mouse every time.
It seems the PHPUnit output console (with the raw output) grabs the keyboard cursor everytime it is updated. If your test suite is slowly running and dots appear every so often, typing becomes nigh impossible.
This seems to appear when trying to run tests in the file via ctrl-alt-f
:
php-unit-test-runner.js? [sm]:303
at PhpCoreService.loadCache (php-core-service.js? [sm]:133)
at PhpCoreService.<anonymous> (php-core-service.js? [sm]:30)
at Generator.next (<anonymous>)
at step (/home/werk/.atom/packages/php-unit-integrator/lib/proxy/php-core-service.js:9)
at <anonymous>
Heh, by now you must be getting tired of me reporting issues, but here it goes!
Uncaught (in promise) TypeError: Cannot read property 'target' of undefined
php-unit-workspace.js? [sm]:190
at php-unit-workspace.js? [sm]:139
at Generator.next (<anonymous>)
at step (/home/werk/.atom/packages/php-unit-integrator/lib/workspace/php-unit-workspace.js:9)
at <anonymous>
This one appeared whilst running tests in the current class by pressing ctrl-alt-c
.
This happens when I disable the Code Coverage
toggle button again after having run the test suite with code coverage enabled.
At /home/me/.atom/packages/php-unit-integrator/lib/views/php-unit-coverage-view.js:70
TypeError: Cannot read property 'getProject' of undefined
at PhpUnitCoverageView.update (/packages/php-unit-integrator/lib/views/php-unit-coverage-view.js:70:33)
at /packages/php-unit-integrator/lib/views/php-unit-integrator-view.js:365:31
at ViewRegistry.performDocumentUpdate (/usr/lib/atom/src/view-registry.js:238:7)
Another tale from the battlefield :-).
"Run test method" is a really useful command to quickly run only the test the cursor is in. Unfortunately, for some reason this command decides to move the cursor to the start of the method signature after having done that, which takes away focus from what you were doing.
To make matters worse, you can't run "Run test method" again when the method is on the signature, so a constant "Move cursor", "Run test method", "Move cursor" is required.
It seems the icons of the buttons in the dock don't show up for me. Perhaps this has something to do with the fact that they appear to be icon fonts. I'm using the nebula theme, but using a default Atom theme, such as One Dark, yields no improvement.
Screenshot of the behavior:
Perhaps you could replace the custom font or icon fonts with standard Atom icons. If you open the Atom styleguide (it is a default Atom package), there should be a list of available octicons that are available for use in packages.
I think I can run the tests twice whilst using the shortcuts. The console is then populated with an amalgamation of all of these runs.
Not really a problem, just thought I'd mention it :-).
TypeError: _this5[_symbols2.default.self].flexData[Symbol.iterator] is not a function
at previousFlex (/home/user/.atom/packages/php-unit-integrator/node_modules/colletch/components/etch-flex-container.js:335:58)
at /home/user/.atom/packages/php-unit-integrator/node_modules/colletch/components/etch-flex-container.js:353:23
at Array.map (native)
at EtchFlexContainer.value (/home/user/.atom/packages/php-unit-integrator/node_modules/colletch/components/etch-flex-container.js:345:58)
at ResizeObserver.<anonymous> (/home/user/.atom/packages/php-unit-integrator/node_modules/colletch/components/etch-flex-container.js:85:64)
Not exactly sure why or how this started happening, but all of a sudden I can't avoid getting this error anymore. Every start up generates multiple of them.
Toggling the console for some reason is duplicating the two toggle buttons Debug
and Code Coverage
as well, which is probably related.
Before PHPUnit 5.x, the --colors
option did not take a parameters. In PHPUnit 5.x and up, it can be set to always
.
In short, this behavior isn't incorrect, but the reason I'm asking is because paratest complains about the additional value. If it is removed, phpunit
can be interchanged with paratest
and it just works.
In case you're interested, the PHPUnit behavior is in this file. You can change 5.0
to other versions in the URL and search for --colors
, if you like.
In 0.0.17 neither of these buttons seems to have any effect on the tests tree anymore. I can still find my failed tests manually, though.
Might it also be a good idea to (provide the ability to) sort failed tests on top? That way failures always jump into your immediate view without having to click the button.
Selecting a test case within the tree and clicking 'run selected' is broken, AGAIN!
An idea I had today was to only enable the xdebug extension conditionally.
As you probably know, just enabling the xdebug extension in php.ini causes code to become considerably slower, likely due to additional tracing happening in the background. For larger test suites, such as for PHP Integrator, this is a massive pain. To give an example: the default suite takes around 15 seconds without XDebug and around 40 seconds with XDebug loaded on my machine. (This is without code coverage being generated, of course.)
Usually I just disable the XDebug extension in my php.ini
unless I need it for code coverage, but this quickly becomes tedious when I need to re-enable it to have code coverage once every so often. Because some people may want to have it enabled all the time - for smaller suites, it matters little -, an option to toggle it may be interesting.
There are some related possibilities here:
-dzend_extension=xdebug.so
here if desired - but it does not solve the tediousness of toggling it on and off-dzend_extension=xdebug.so
and keep it off in php.ini
, which ensures it's only used for code coverage-dzend_extension=xdebug.so
- which would, again, probably need to be configurable, as the library name and/or path can differ per platform - when enabled and which is automatically force enabled by toggling the code coverage switchThere may be a better way to present this to the user. Unfortunately, there is no easier way to toggle XDebug, i.e. xdebug_disable()
does not have the same effect and it can be useful, such as for code coverage or just plain ol' debugging.
The font of the tests in the tests tree is rather large on my system. I think this is because of the font-size: 1.1em
that is applied to the .php-unit-integrator .php-unit-report-view > .php-unit-report-tree .list-item
selector.
The font of the code coverage pane is fine, though. Perhaps there is a specific reason for this?
[Enter steps to reproduce:]
Atom: 1.26.0 ia32
Electron: 1.7.11
OS: Microsoft Windows 10 Home
Thrown From: php-unit-integrator package 0.0.32
Failed to activate the php-unit-integrator package
At (0 , _util.promisify) is not a function
TypeError: (0 , _util.promisify) is not a function
at /packages/php-unit-integrator/lib/util/php-unit-utils.js:9:19)
at /packages/php-unit-integrator/lib/util/php-unit-utils.js:388:2)
at Module.get_Module._compile (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:106:36)
at Object.value [as .js] (~/AppData/Local/atom/app-1.26.0/resources/app/src/compile-cache.js:240:29)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (/app.asar/static/index.js:47:45)
at require (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:66:33)
at /packages/php-unit-integrator/lib/views/php-unit-integrator-view.js:14:35)
at /packages/php-unit-integrator/lib/views/php-unit-integrator-view.js:27:43)
at Module.get_Module._compile (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:106:36)
at Object.value [as .js] (~/AppData/Local/atom/app-1.26.0/resources/app/src/compile-cache.js:240:29)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (/app.asar/static/index.js:47:45)
at require (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:66:33)
at /packages/php-unit-integrator/lib/php-unit-integrator.js:6:68)
at /packages/php-unit-integrator/lib/php-unit-integrator.js:14:39)
at Module.get_Module._compile (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:106:36)
at Object.value [as .js] (~/AppData/Local/atom/app-1.26.0/resources/app/src/compile-cache.js:240:29)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (/app.asar/static/index.js:47:45)
at require (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:66:33)
at /packages/php-unit-integrator/lib/main.js:3:27)
at /packages/php-unit-integrator/lib/main.js:7:3)
at Module.get_Module._compile (~/AppData/Local/atom/app-1.26.0/resources/app/src/native-compile-cache.js:106:36)
at Object.value [as .js] (~/AppData/Local/atom/app-1.26.0/resources/app/src/compile-cache.js:240:29)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (/app.asar/static/index.js:47:45)
at require (internal/module.js:20:19)
at customRequire (~/AppData/Local/atom/app-1.26.0/resources/app/static/<embedded>:96:26)
at Package.requireMainModule (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:782:33)
at Package.activateNow (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:220:40)
at measure (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:206:33)
at Package.measure (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:88:25)
at activationPromise.Promise (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:200:20)
at Promise (<anonymous>)
at Package.activate (~/AppData/Local/atom/app-1.26.0/resources/app/src/package.js:198:38)
at PackageManager.activatePackage (~/AppData/Local/atom/app-1.26.0/resources/app/src/package-manager.js:695:42)
at ~/AppData/Local/atom/app-1.26.0/resources/app/node_modules/settings-view/lib/package-manager.js:491:35
at exit (~/AppData/Local/atom/app-1.26.0/resources/app/node_modules/settings-view/lib/package-manager.js:128:22)
at triggerExitCallback (~/AppData/Local/atom/app-1.26.0/resources/app/src/buffered-process.js:267:15)
at ChildProcess.process.on (~/AppData/Local/atom/app-1.26.0/resources/app/src/buffered-process.js:297:15)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:194:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
-3:11.8.0 fuzzy-finder:toggle-file-finder (div.results-view.focusable-panel)
-3:10 core:confirm (input.hidden-input)
-3:08.1.0 intentions:highlight (input.hidden-input)
-3:08.0 find-and-replace:show (input.hidden-input)
-3:07.8.0 core:paste (input.hidden-input)
-3:07.7.0 core:confirm (input.hidden-input)
-3:01.4.0 intentions:highlight (input.hidden-input)
-3:01.1.0 command-palette:toggle (input.hidden-input)
2x -2:58.2.0 core:move-down (input.hidden-input)
-2:54.7.0 core:confirm (input.hidden-input)
-2:54.7.0 settings-view:install-packages-and-themes (input.hidden-input)
-2:34.7.0 editor:consolidate-selections (input.hidden-input)
-2:34.7.0 core:cancel (input.hidden-input)
-1:16.6.0 core:confirm (input.hidden-input)
-0:47.1.0 core:select-all (input.hidden-input)
2x -0:46.1.0 core:confirm (input.hidden-input)
aligner 1.2.4
aligner-css 1.2.1
aligner-javascript 1.3.0
aligner-php 1.2.0
aligner-scss 1.3.1
atom-beautify 0.32.2
atom-clock 0.1.16
atom-ide-ui 0.11.0
atom-shortcuts 0.0.2
atom-typescript 12.3.8
autocomplete-modules 2.0.0
autocomplete-php 0.3.7
autoprefixer 3.7.1
blade-snippets 0.2.0
busy-signal 1.4.3
color-picker 2.3.0
css-snippets 1.1.0
docblockr 0.13.7
editorconfig 2.2.2
file-icons 2.1.18
format-sql 0.3.0
ftp-remote-edit 0.12.12
highlight-bad-chars 1.0.7
highlight-line 0.12.0
highlight-selected 0.13.1
html-id-class-snippets 1.4.1
intentions 1.1.5
language-blade 0.39.0
language-sql-mysql 0.3.1
language-vue 0.23.1
language-vue-component 0.5.0
larasnippets 0.44.0
laravel 0.7.1
linter 2.2.0
linter-alex 4.0.0
linter-jshint 3.1.6
linter-php 1.5.1
linter-phpcs 1.6.8
linter-sass-lint 1.8.3
linter-ui-default 1.7.1
linter-write-good 0.9.0
merge-conflicts 1.4.5
minimap 4.29.8
minimap-bookmarks 0.4.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-pigments 0.2.2
minimap-selection 4.5.0
php-cs-fixer 4.1.1
php-debug 0.2.6
php-unit-integrator 0.0.32
pigments 0.40.2
pinned-tabs 2.0.5
print-atom 0.1.1
project-manager 3.3.5
qolor 0.4.2
scroll-sync 0.2.4
tabs-to-spaces 1.0.4
teletype 0.13.0
tree-view-git-modified 0.7.3
vue-autocomplete 0.1.1
vue-format 0.4.0
vue2-autocomplete 0.1.0-alpha.4
vuejs2-snippets 1.1.0
Clicking the abort button during the file gathering process fails to abort the file gathering or the following tests.
It would be neat if the failed assertions could somehow be viewed via this package. PhpStorm, for example, allows showing tooltips (such as those provided by atom-ide-ui) with the failed assertions and PHPUnit failed assertion diffs in.
The PHPUnit raw console output is currently occupying a rather large portion of the dock. Whilst it is always useful to have handy for debugging, it could be hidden behind an additional button if its prime and most common use case, viewing failed assertions, could be replaced by a way to view them from the tests tree - be it via a tooltip, expando or something else.
It may be interesting to show some minor statistics in, above or around the tests tree, in particular the amount of tests run - perhaps also the amount of passed tests as opposed to the total -, the amount of assertions run and the total time it took to complete the last run.
All of these things are already printed by PHPUnit by default.
Navigating to the test method, when it doesn't exist, prompts for its creation. The created method is written to the file after the class' closing brace.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.