3
3
4
4
5
5
def test_paor001_order (dash_duo , clear_pages_state ):
6
-
7
6
app = Dash (__name__ , use_pages = True , suppress_callback_exceptions = True )
8
7
9
8
dash .register_page (
@@ -24,6 +23,53 @@ def test_paor001_order(dash_duo, clear_pages_state):
24
23
order = 0 ,
25
24
id = "multi_layout3" ,
26
25
)
26
+ # Test more than 10 pages to ensure the supplied order is sorted correctly
27
+ for order_int in range (3 , 13 ):
28
+ dash .register_page (
29
+ f"multi_layout{ order_int + 1 } " ,
30
+ layout = html .Div (
31
+ f"text for multi_layout{ order_int + 1 } " ,
32
+ id = f"text_multi_layout{ order_int + 1 } " ,
33
+ ),
34
+ order = order_int ,
35
+ id = f"multi_layout{ order_int + 1 } " ,
36
+ )
37
+ # Test fractional ordering
38
+ dash .register_page (
39
+ "multi_layout3.5" ,
40
+ layout = html .Div ("text for multi_layout3.5" , id = "text_multi_layout3.5" ),
41
+ order = 3.5 ,
42
+ id = "multi_layout3.5" ,
43
+ )
44
+ # Test no order given
45
+ dash .register_page (
46
+ "multi_layout14" ,
47
+ layout = html .Div ("text for multi_layout14" , id = "text_multi_layout14" ),
48
+ id = "multi_layout14" ,
49
+ )
50
+ dash .register_page (
51
+ "multi_layout15" ,
52
+ layout = html .Div ("text for multi_layout15" , id = "text_multi_layout15" ),
53
+ id = "multi_layout15" ,
54
+ )
55
+ # Test string for order
56
+ dash .register_page (
57
+ "first_string_order" ,
58
+ layout = html .Div ("text for string_order" , id = "text_string_order" ),
59
+ order = "2a" ,
60
+ id = "first_string_order" ,
61
+ )
62
+ dash .register_page (
63
+ "aaa_first_with_no_order" ,
64
+ layout = html .Div ("text for aaa" , id = "text_aaa" ),
65
+ id = "aaa_first_with_no_order" ,
66
+ )
67
+ dash .register_page (
68
+ "yyy_last_string_order" ,
69
+ layout = html .Div ("text for yyy" , id = "text_yyy" ),
70
+ order = "zzz" ,
71
+ id = "yyy_last_string_order" ,
72
+ )
27
73
28
74
app .layout = html .Div (
29
75
[
@@ -48,6 +94,22 @@ def test_paor001_order(dash_duo, clear_pages_state):
48
94
"multi_layout3" ,
49
95
"multi_layout2" ,
50
96
"multi_layout1" ,
97
+ "multi_layout4" ,
98
+ "multi_layout3.5" ,
99
+ "multi_layout5" ,
100
+ "multi_layout6" ,
101
+ "multi_layout7" ,
102
+ "multi_layout8" ,
103
+ "multi_layout9" ,
104
+ "multi_layout10" ,
105
+ "multi_layout11" ,
106
+ "multi_layout12" ,
107
+ "multi_layout13" ,
108
+ "first_string_order" ,
109
+ "yyy_last_string_order" ,
110
+ "aaa_first_with_no_order" ,
111
+ "multi_layout14" ,
112
+ "multi_layout15" ,
51
113
"pages.defaults" ,
52
114
"pages.metas" ,
53
115
"pages.not_found_404" ,
0 commit comments