1+ using Test
2+ using Dash
3+ using Dash: HandlerState, main_registry, start_reload_poll, enable_dev_tools!
4+ import HTTP
5+ import JSON3
6+ @testset " reload state" begin
7+ rm (" assets/test2.png" , force = true )
8+ app = dash ()
9+ enable_dev_tools! (app, dev_tools_hot_reload_watch_interval = 1. )
10+ app. layout = html_div ()
11+ state = HandlerState (app, main_registry ())
12+ start_reload_poll (state)
13+ initial_hash = state. reload. hash
14+ sleep (1 )
15+ @test length (state. reload. changed_assets) == 0
16+ write (" assets/test2.png" , " " )
17+ sleep (2 )
18+ @test state. reload. hash != initial_hash
19+ @test length (state. reload. changed_assets) == 1
20+ @test length (state. reload. changed_assets) == 1
21+ @test state. reload. changed_assets[1 ]. url == " /assets/test2.png"
22+ rm (" assets/test2.png" , force = true )
23+
24+ end
25+ @testset " reload handler" begin
26+ rm (" assets/test2.css" , force = true )
27+ app = dash ()
28+ enable_dev_tools! (app, dev_tools_hot_reload = true , dev_tools_hot_reload_watch_interval = 1. )
29+ app. layout = html_div ()
30+ handler = make_handler (app)
31+ write (" assets/test2.css" , " " )
32+ sleep (2 )
33+ response = HTTP. handle (handler, HTTP. Request (" GET" , " /_reload-hash" ))
34+ data = JSON3. read (response. body)
35+ @test length (data. files) == 1
36+ @test data. files[1 ]. url == " /assets/test2.css"
37+ @test data. files[1 ]. is_css == true
38+ rm (" assets/test2.css" , force = true )
39+ end
0 commit comments