Build for and with JSServe!
Usage: Allows you to run javascript inside your app to test all sorts of values:
using ElectronTests
using JSServe: @js_str, Slider, Button, TextField, linkjs, onjs
using JSServe.DOM
using ElectronTests: testsession, runjs, @wait_for, trigger_keyboard_press
using Test
using Markdown
function test_handler(session, req)
s1 = Slider(1:100)
s2 = Slider(1:100)
b = Button("hi")
t = TextField("Write!")
linkjs(session, s1.value, s2.value)
dom = md"""
# IS THIS REAL?
My first slider: $(s1)
My second slider: $(s2)
Test: $(s1.value)
The BUTTON: $(b)
Type something for the list: $(t)
some list $(t.value)
"""
return DOM.div(dom, id="testapp")
end
testsession(test_handler) do app
@test runjs(app, js"document.getElementById('testapp').children.length") == 1
@test runjs(app, js"document.getElementById('testapp').children[0].children[0].innerText") == "IS THIS REAL?"
@test runjs(app, js"document.querySelectorAll('input[type=\"button\"]').length") == 1
@test runjs(app, js"document.querySelectorAll('input[type=\"range\"]').length") == 2
end