Automated testing framework

Is there an automated testing framework for Joplin?

Yes

Backend test coverage is ok and thanks to Mic’s efforts we’re starting to have frontend coverage too. I’d also like to check Spectron at some point to see if we can use it for integration testing https://www.electronjs.org/spectron

On running the tests as @mic704b has pointed out, I get the following errors: Link to Pastebin
I have edited the file StatusScreen.jsx to have a retry-all link, but I don’t think that should trigger these 8 errors. What is causing this?

@RedDocMD I am looking into the problems. In the mean time, please remove the test files starting integration_XXX and try again. Please let me know if that resolves the problem.

Are you running on Windows?

No I am running it on Arch Linux(to be more specific Manjaro)
And yes, three of the failures disappear, @mic704b, but there are still five
Link to errors in Pastebin

Thanks @RedDocMD

These seem to be due to a similar problem. Work is in progress on a fix.

If you notice any other spurious test failures, please post them here too.

@laurent, in the test MdToHtml, there is a failure on the file sanitize_ 2.md. Is this an issue with the sanitization, for it seems that the close tag </a> is inserted at the wrong point. Or maybe it is the problem with Markdown that we have discussed?

No, actually I think it is a problem with the Markdown rendering engine. Referring to the following screenshot:


The raw HTML itself (before sanitizing) seems to have the problem. The sanitizing does nothing to it.
@mic704b, what do you think about it?

Yes, the raw html looks wrong in your screenshot. Interesting, when I run this test case it passes.

That looks like an old version of Joplin.

Funny, I thought I was on the master branch. Anyway, I will rebase and try again

Yes, the markdown sanitize errors go away on merging the latest commits

[snappy comment on]

Another person who loves to take screenshots of text. Seriously, this is getting ridiculous.

[snappy comment off]

I get your point @tessus, but I wonder how I would have pasted that text here without creating a mess...
Besides, if you have noticed, my username on my laptop is madguy. :wink::

I don't understand. Discourse uses markdown. Markdown has code blocks. These code blocks have syntax highlighting.

@tessus, I didn't know that you could have a multi-line code block. Thanks for pointing this out. I will use it in future comments. :smile: :+1: