Open matthewp opened 5 years ago
I'd also like to throw in making it very functional.
import FuncUnit as F from "funcunit"
test(async function(){
await F.click( querySelector("#button") )
await F.textContent( querySelector("#details"), "Hi there" )
assert(true, "text is hi there")
})
F
would just expose functions that return promises. await
use would be expected. We'd have functions that would be similar to what we have now, but more DOM-focused APIs and less jQuery-focused APIs:
textContent
instead of text
innerHTML
instead of html
value
instead val
I think we could get rid of many traversal methods. For example
await F.click( querySelector("#button") )
await F.textContent( querySelector("#details").parentNode , "Hi there" )
assert(true, "text is hi there")
Though we still might want some form of "wait" with traversal:
await F.click( querySelector("#button") )
details = await F.querySelector("#details")
child = await F.querySelector(child, ".someElement"); // obviously this could be done with one call
await F.textContent( child, "Hi there" )
assert(true, "text is hi there")
This is a future proposal that needs to be more fully thoroughly thought out.