thoughtbot / capybara-webkit

A Capybara driver for headless WebKit to test JavaScript web apps
https://thoughtbot.com/open-source
MIT License
1.97k stars 428 forks source link

Conditionally fix QT 4.8 hack with custom font, and allow custom fonts for >= QT5.0.0 #1006

Closed dezmathio closed 6 years ago

dezmathio commented 7 years ago

Is there a way to determine the QT capybara was compiled with version while in a ruby environment? I ask because I plan to open a PR to fix the custom font nonsense but in order for the tests to pass we will need to see what is > QT5.0.0 and what isn't in our ruby env.

I can see how you guys do it in the cpp files:

https://github.com/thoughtbot/capybara-webkit/blob/72b9eca1933f695c2ac4724d30911ad0d1c8b3c3/src/Server.cpp#L12

but in order to still support these specs:

https://github.com/thoughtbot/capybara-webkit/commit/82ae0c298f11098e3393806a595d1ffa8615c4fc

I would need to have a way to determine which qt version it was compiled with.

mhoran commented 7 years ago

We actually plan to drop support for Qt < 5 completely in capybara-webkit 2, thus obviating the need for any detection. There is a milestone for this work, but it's currently stalled.

dezmathio commented 7 years ago

hey @mhoran thanks for the quick reply -- I actually figured out that I can do page.driver.browser.version or even page.driver.version and those will return the data I'm interested in.

I plan to conditionally do the custom font fix for anything < QT5, and then run the specs in that context as well; and if it's above it, do not do the custom font hack, which leads to dozens of more hacks people need to do on their own environments, & not actually testing behavior and real clicks by doing trigger('click') and all that nonsense.

I have been watching the issue you guys have #728 and @jferris mentioned that he would gladly merge a pull request doing so;

This will not be "completely removing it or deprecating QT 4.X support before a major release" like you alluded to, it will be a middle ground.

Thoughts? I plan on getting through this soon, since it looks like the major release has been on the horizon for a while (2yrs+?)

mhoran commented 7 years ago

I still have reservations about the conditional override and would just as well prefer PRs that complete the capybara-webkit 2.0 efforts. But at this point the number of users of Qt 4.8 are likely very low, so perhaps it's not even an issue.

twalpole commented 6 years ago

Closing via PR #1035