-
Notifications
You must be signed in to change notification settings - Fork 20
Conversation
Good start! I know we didn't discuss this upfront, but the plugin should use ES2015 (ES6), not CoffeeScript. Nothing against CoffeeScript, but ES2015 is more future friendly and better for attracting potential contributors.
What kind of menus were you thinking? I think it's more important to implement command palette commands than menus. |
@@ -0,0 +1,3 @@ | |||
'atom-workspace': | |||
'ctrl-alt-a': 'ava:toggle' | |||
'ctrl-alt-x': 'ava:run' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there really any point in having two separate shortcuts? I would think it's enough with just Ctrl+Alt+A which toggles and runs tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no big reason for having two today. I used two because they allowed me to easily test in isolation the two steps. I'll compact them in one.
If in the future we have a parsing of the test file (something that I'd like to discuss after having a nice stable first version) phase we'll need two. No need to worry about this now.
I wasn't aware of this but these are actually good news. No doubt this is more future friendly and has more potential. I'll start doing some testing. The comment about the menu did not have a big foundation, I was just trying to say that there is no visual entry point in the UI. Probably we don't need it. |
Thanks for all the feedback :). I'll try to push a new version with these issues addressed asap. |
I have addressed some of the issues previously marked:
I have tried to implement a non very successful cancellation mechanism. I'm not sure if it's the best approach, but the idea is stop the process if the user closes the package or if the test execution process is launched several times. It'd great have some feedback about the appropriate way to do it with the programmatic API. Is it looking any better?. Thank you!. |
@@ -0,0 +1,34 @@ | |||
'use babel'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use /** @babel */
instead.
@sindresorhus, @jamestalmage, if you have time it would be great if you can give it a go and let me know what you think: Video Some minor changes in the UI to prepare the plugin for execute several files. The idea is that we will have several blocks as the one featured in the video (one per file). My initial understanding is that some of the features that I feel like missing (block decoration and multiple files) will require some minor modifications in the TAP reporter of AVA, that is why I would like to know if the features that we have make sense as an MVP before going for that second phase. Thanks! |
@jacobmendoza This looks really great! 🙌 More than good enough for a MVP. Some minor nitpick. When using the Atom Dark theme some things could be tweaked: Maybe use And And I get this when trying to run a test file from the |
Hey @sindresorhus, thanks for spending some time with this!.
|
Very cool. Only thing I've noticed so far is that skipped tests show as passed. |
And Looks like a great start! Great job @jacobmendoza! |
Hey @jamestalmage, @jfmengels!. Thanks for trying out the package! :). Yeah, that's important, something funny with the parsing process I'd say. Hopefully it'll be fixed very soon. |
@jacobmendoza https://github.com/jamestalmage/tap-emitter aims to fix that, but I've kind of let that languish. I would love extra help on that. It would require fixing avajs/tap-emitter#2 and integrating into AVA. No pressure, but it might make your life easier to improve the TAP output. |
@jamestalmage, not sure yet if it's the output that AVA generates or actually the parsing process. I think I'll be able to confirm today. Anyway, yeah, I would be more than happy to help. This is pretty far from my usual technology stack, so I may need some help for start. Actually, regarding the TAP output, there are a few ideas that I wanted to check with you, but I was trying to get something basic working here before. I'll keep you posted! |
@jamestalmage, @jfmengels, thanks for your comments yesterday. They were really helpful.
Also, fixed a crash if the user tries to run tests in a window with no active editor. |
Yes, should be in the package. |
@sindresorhus, did you take a look at the error that you were having while trying to test got?. Can you still reproduce it?. I was wondering if, assuming that the defect is no longer present, we could start thinking about merging with the main branch. This PR is starting to get big, and I would like to make a difference between the first basic features and the followings to come. Thank you! |
@jacobmendoza Yes, works great now! This is really awesome. We really appreciate all the hard work you put into this. |
I'll do a new release and tweet about it next week ;) |
Thanks a million for your kind words, really ✋✋✋ . I have enjoyed it a lot and it has been great to have your feedback during the process!. Planning to comment soon #13 to see what you think. Cheers guys! |
Overview: Prototype for integrating a runner of AVA tests in Atom. Not ready to merge, just requesting feedback (#3).
Steps: Link the package. At this stage, there is no menu integration (yet), so pressing ctrl-alt-a is needed to activate the package (right pane will appear). If a test file is active, pressing ctrl-alt-x will trigger the execution of the tests. Every time that one assert is processed, a new line will appear in the UI (the feedback during execution needs to be improved).
About the code: It's just a prototype, so probably there are a lot of things to discuss. Intentionally, there is no effort in this PR for formatted and nice UI. I'm using this parser for the TAP output, and seems to work very well. Anyway, the idea is to abstract the interaction with it, just in case we could need to replace it (with this code, this is only partially achieved).