Merge branch 'hs-e40-fetch' into loops/hs
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 16s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 16s
This commit is contained in:
@@ -7429,7 +7429,14 @@
|
||||
;; ── fetch (23 tests) ──
|
||||
(defsuite "hs-upstream-fetch"
|
||||
(deftest "Response can be converted to JSON via as JSON"
|
||||
(error "SKIP (skip-list): Response can be converted to JSON via as JSON"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test as Response then put (it as JSON).name into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "Joe")
|
||||
))
|
||||
(deftest "allows the event handler to change the fetch parameters"
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
@@ -7440,9 +7447,23 @@
|
||||
(assert= (dom-text-content _el-div) "yay")
|
||||
))
|
||||
(deftest "as response does not throw on 404"
|
||||
(error "SKIP (skip-list): as response does not throw on 404"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test as response then put it.status into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "404")
|
||||
))
|
||||
(deftest "can catch an error that occurs when using fetch"
|
||||
(error "SKIP (skip-list): can catch an error that occurs when using fetch"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test catch e log e put \"yay\" into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "yay")
|
||||
))
|
||||
(deftest "can do a simple fetch"
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
@@ -7563,9 +7584,23 @@
|
||||
(assert= (dom-text-content _el-div) "yay")
|
||||
))
|
||||
(deftest "do not throw passes through 404 response"
|
||||
(error "SKIP (skip-list): do not throw passes through 404 response"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test do not throw then put it into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "the body")
|
||||
))
|
||||
(deftest "don't throw passes through 404 response"
|
||||
(error "SKIP (skip-list): don't throw passes through 404 response"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test don't throw then put it into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "the body")
|
||||
))
|
||||
(deftest "submits the fetch parameters to the event handler"
|
||||
(hs-cleanup!)
|
||||
(host-set! (host-global "window") "headerCheckPassed" false)
|
||||
@@ -7577,9 +7612,26 @@
|
||||
(assert= (dom-text-content _el-div) "yay")
|
||||
))
|
||||
(deftest "throws on non-2xx response by default"
|
||||
(error "SKIP (skip-list): throws on non-2xx response by default"))
|
||||
(hs-cleanup!)
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch /test catch e put \"caught\" into me")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert= (dom-text-content _el-div) "caught")
|
||||
))
|
||||
(deftest "triggers an event just before fetching"
|
||||
(error "SKIP (skip-list): triggers an event just before fetching"))
|
||||
(hs-cleanup!)
|
||||
(host-call (host-global "window") "addEventListener" "hyperscript:beforeFetch" (fn (_event) (dom-set-attr (host-get _event "target") "class" "foo-set")))
|
||||
(let ((_el-div (dom-create-element "div")))
|
||||
(dom-set-attr _el-div "_" "on click fetch \"/test\" then put it into my.innerHTML end")
|
||||
(dom-append (dom-body) _el-div)
|
||||
(hs-activate! _el-div)
|
||||
(assert (not (dom-has-class? _el-div "foo-set")))
|
||||
(dom-dispatch _el-div "click" nil)
|
||||
(assert (dom-has-class? _el-div "foo-set"))
|
||||
(assert= (dom-text-content _el-div) "yay")
|
||||
))
|
||||
)
|
||||
|
||||
;; ── focus (3 tests) ──
|
||||
|
||||
Reference in New Issue
Block a user