This repository was archived by the owner on Aug 31, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 72
Expand file tree
/
Copy pathscriptstatus.livecodescript
More file actions
100 lines (90 loc) · 3.31 KB
/
scriptstatus.livecodescript
File metadata and controls
100 lines (90 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
script "TestIDEScriptStatus"
/*
Copyright (C) 2017 LiveCode Ltd.
This file is part of LiveCode.
LiveCode is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License v3 as published by the Free
Software Foundation.
LiveCode is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
local sTestStack
on TestSetup
create stack uuid()
put it into sTestStack
end TestSetup
on TestExplicitVariables
local tStackFiles
put the stackFiles of stack "home" into tStackFiles
split tStackFiles by comma and return
repeat for each element tStackName in tStackFiles
if there is a stack tStackName then
__RecursiveTest the long id of stack tStackName
end if
end repeat
end TestExplicitVariables
private command __RecursiveTest pObject
if the script of pObject is not empty then
lock messages
local tStatus
put the scriptStatus of pObject into tStatus
switch tStatus
case "uncompiled"
set the script of sTestStack to the script of pObject
if the scriptStatus of sTestStack is "compiled" then
put "compiled" into tStatus
break
end if
case "error"
TestAssert "compiles" && the long name of pObject, false
break
end switch
if tStatus is "compiled" then
set the explicitVariables to true
set the script of sTestStack to the script of pObject
set the explicitVariables to false
if the scriptStatus of sTestStack is not "compiled" then
TestAssertBroken "explicit variables" && the long name of pObject, false, "Bug 20356"
else
TestAssert "explicit variables" && the long name of pObject, true
end if
end if
unlock messages
end if
switch word 1 of pObject
case "stack"
repeat for each line tStack in the substacks of pObject
__RecursiveTest the long id of stack tStack
end repeat
repeat for each line tID in the cardIDs of pObject
__RecursiveTest the long id of card id tID of pObject
end repeat
repeat for each line tID in the sharedGroupIDs of pObject
__RecursiveTest the long id of control id tID of pObject
end repeat
break
case "card"
repeat for each line tID in the childControlIDs of pObject
if word 1 of the name of control id tID of pObject is "group" and \
the sharedBehavior of control id tID of pObject then
next repeat
end if
__RecursiveTest the long id of control id tID of pObject
end repeat
break
case "group"
case "background"
case "bkgnd"
repeat for each line tID in the childControlIDs of pObject
__RecursiveTest the long id of control id tID of pObject
end repeat
break
default
end switch
end __RecursiveTest
on TestTeardown
delete stack sTestStack
end TestTeardown