Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vim mode experimental #246

Open
wants to merge 42 commits into
base: vim-mode-experimental
Choose a base branch
from

Conversation

j-rewerts
Copy link
Member

So I didn't actually use a separate folder, since I think it'll be good to test things like whether pages load successfully. I'll add some more tests for Vim links mode in the future.

tobimensch and others added 30 commits October 7, 2018 14:45
The keybindings are hardcoded for now, but this is going to change.
Added moveTabLeft and moveTabRight functions, which take
a tab ID and try to move the tab as far right or left
in the tabOrder as possible.
Added previouslyVisitedTab function that switches to the
previously selected tab.
with activating input boxes using link hinting.
In Firefox 63 an old syntax for Marionette commands was deprecated.
Updating mostly just meant prepending `WebDriver` to existing commands.

This should fix most problems in browsh-org#232
Vim mode still needs a lot more tests
…to key combinations only working after a certain number of key strokes.
tombh and others added 12 commits November 14, 2018 23:15
This is because Travis' logs had 2 problems.
  1. it doesn't capture the entire log output
  2. it doesn't show logs when there's a timeout
This is because Travis' logs had 2 problems.
  1. it doesn't capture the entire log output
  2. it doesn't show logs when there's a timeout
… event could get interpreted repeatedly. Also some rewrites/improvements of the code. Key mappings can now contain control characters and meta keys with a vim-like notation. There's a hard insert mode, which disables all of browsh's shortcuts and requires 4 hits on ESC to leave. There's a new multiple link opening feature analogous to vimium, that's still incomplete.
Keyboard("a")
// I've noticed we sometimes haven't loaded the page successfully at this point.
// Maybe we should have a custom matcher that handles loading webpages?
// Expect("localhost:3000/smorgasbord/another.html").To(BeActivePage()) or something?
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tombh @tobimensch Any thoughts on this? It seems like some of our test issues may be resolved if we had a solid page load matcher (not sure if matcher is right word). I could take a whack at it if you both think it's useful.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@j-rewerts
What do you mean by page load matcher? You want to verify that the page was loaded/rendered as expected?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not load as expected, but loaded at all. We wouldn't be searching for text to verify, like we are now. It would be a more basic test than we currently use, but it could be a good way to test certain functionality without needing to know the location of text.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this @j-rewerts

I've noticed this problem too. From what I can tell (it's hard to see what's actually going on from just looking at the logs) Browsh sometimes just loads a blank page. So that is the more important problem as it may surface in end user usage as well. But meanwhile, yes a page load matcher could be useful. What about building upon the sleep code that waits for the parsing_complete state:

if browsh.CurrentTab.PageState == "parsing_complete" {

@tombh tombh mentioned this pull request Jun 11, 2019
@tombh tombh mentioned this pull request Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants