Run it
Copy the script and paste it into your executor.
passes, fails, aliasIssues = , ,
runningTests =
(path)
env = ( ()) ()
segment .(path, )
env
env = env[segment]
env
(globalName, aliases, callback)
runningTests = runningTests +
.(()
callback
( .. globalName)
(globalName)
fails = fails +
( .. globalName .. )
success, message = (callback)
success
passes = passes +
( .. globalName .. (message .. (message) ))
fails = fails +
( .. globalName .. .. (message))
missingAliases = {}
aliases (aliases) ==
_, alias (aliases)
(alias) ==
.(missingAliases, alias)
#missingAliases >
aliasIssues = aliasIssues +
( .. globalName .. .. .(missingAliases, ))
runningTests = runningTests -
)
()
()
(, {}, ()
container = .()
part = .(, container)
original = container:()
cache.(original)
invalidated = container:()
(original ~= invalidated, )
)
(, {}, ()
part = .()
(cache.(part), )
cache.(part)
( cache.(part), )
)
(, {}, ()
part = .()
fire = .()
cache.(part, fire)
( cache.(part),
)
(cache.(fire),
)
)
(, {}, ()
part = .()
clone = (part)
(part ~= clone, )
clone.Name =
(part.Name == , )
)
(, {}, ()
part = .()
clone = (part)
(part ~= clone, )
((part, clone), )
)
(, {}, ()
()
clonedFunction = (originalFunction)
(() == (), )
(originalFunction ~= clonedFunction, )
)
(, {}, ()
()
hash1 = (sampleFunction)
hash2 = (sampleFunction)
((hash1) == , )
(hash1 == hash2, )
clonedFunction = (sampleFunction)
hashCloned = (clonedFunction)
(hash1 == hashCloned, )
()
hash3 = (anotherFunction)
(hash1 ~= hash3, )
)
(, {}, ()
()
originalHook = (originalFunction, ()
)
(() == , )
(() == , )
(originalFunction ~= originalHook, )
)
(, {}, ()
metaFunction = (() )
object = ({}, { __index = metaFunction, __metatable = })
originalMetaMethod = (object, , () )
(object.anyKey == , )
(() == , )
)
(, {}, ()
(() == , )
((() ) == , )
)
(, {}, ()
(() == , )
((() ) == , )
)
(, {, }, ()
((isexecutorclosure) == , )
(((() )) == , )
((() ) == , )
(() == , )
)
(, {}, ()
()
cClosure = (originalFunction)
(() == (), )
(originalFunction ~= cClosure, )
((cClosure), )
)
(, {, , , }, ()
base64Input =
expectedOutput =
decodedValue = crypt.(base64Input)
(decodedValue == expectedOutput, .. expectedOutput .. .. (decodedValue) .. )
)
(, {, , , }, ()
inputString =
expectedEncoded =
encodedValue = crypt.(inputString)
(encodedValue == expectedEncoded, .. expectedEncoded .. .. (encodedValue) .. )
)
(, {}, ()
key = crypt.()
iv = crypt.()
originalMessage =
encryptedData = crypt.(originalMessage, key, iv, )
decryptedMessage = crypt.(encryptedData, key, iv, )
(decryptedMessage == originalMessage, .. originalMessage .. .. (decryptedMessage) .. )
)
(, {}, ()
key = crypt.()
originalMessage =
encryptedData, generatedIV = crypt.(originalMessage, key, , )
(generatedIV, )
decryptedMessage = crypt.(encryptedData, key, generatedIV, )
(decryptedMessage == originalMessage, .. originalMessage .. .. (decryptedMessage) .. )
)
(, {}, ()
byteCount = .(, )
base64Bytes = crypt.(byteCount)
decodedBytes = crypt.(base64Bytes)
(#decodedBytes == byteCount, .. byteCount .. .. #decodedBytes)
)
(, {}, ()
key = crypt.()
decodedKey = crypt.(key)
(#decodedKey == , .. #decodedKey .. )
)
(, {}, ()
message =
algorithms = {, , , , , , , }
_, algorithm (algorithms)
hashResult = crypt.(message, algorithm)
(hashResult (hashResult) == #hashResult > ,
.. algorithm .. )
)
(, {}, ()
()
num = ..
(, num, )
constants = debug.(sampleFunction)
(constants[] == , .. (constants[]))
(constants[] == , .. (constants[]))
(constants[] == , .. (constants[]))
(constants[] == , .. (constants[]))
(constants[] == , .. (constants[]))
)
(, {}, ()
()
()
const1 = debug.(sampleFunction, )
const2 = debug.(sampleFunction, )
const3 = debug.(sampleFunction, )
(const1 == , .. (const1))
(const2 == , .. (const2))
(const3 == , .. (const3))
)
(, {}, ()
expectedTypes = {
source = ,
short_src = ,
func = ,
what = ,
currentline = ,
name = ,
nups = ,
numparams = ,
is_vararg = ,
}
(...)
(...)
info = debug.(sampleFunction)
key, expectedType (expectedTypes)
(info[key] ~= , .. key .. )
actualType = (info[key])
(actualType == expectedType, .. key .. .. expectedType .. .. actualType .. )
)
(, {}, ()
()
()
protos = debug.(sampleFunction, , )
protoFunc = protos protos[]
realProtoFunc = debug.(sampleFunction, )
(protoFunc, )
(() == , )
realResult = realProtoFunc ()
(realResult == , )
)
(, {}, ()
()
()
()
()
protosList = debug.(sampleFunction)
i, _ (protosList)
protoEntry = debug.(sampleFunction, i, )
protoFunc = protoEntry protoEntry[]
realProtoFunc = debug.(sampleFunction, i)
(protoFunc () == , .. i)
realResult = realProtoFunc ()
(realResult == , .. i .. )
)
(, {}, ()
concatenated = ..
singleStack = debug.(, )
stackTable = debug.()
(singleStack == concatenated, .. concatenated .. .. (singleStack) .. )
(stackTable[] == concatenated, .. concatenated .. .. (stackTable[]) .. )
)
(, {}, ()
capturedUpvalue = ()
()
(capturedUpvalue)
retrievedUpvalue = debug.(sampleFunction, )
(retrievedUpvalue == capturedUpvalue, .. (retrievedUpvalue))
)
(, {}, ()
capturedUpvalue = ()
()
(capturedUpvalue)
upvalues = debug.(sampleFunction)
(upvalues[] == capturedUpvalue, .. (upvalues[]))
)
(, {}, ()
()
debug.(sampleFunction, , )
result = ()
(result == , .. (result) .. )
)
(, {}, ()
()
, debug.(, , )
result = ()
(result == , .. (result) .. )
)
(, {}, ()
()
()
()
debug.(sampleFunction, , () )
result = ()
(result == , .. (result) .. )
)
(, {}, ()
dummyDrawing = .()
dummyDrawing.Visible =
success = (()
()
)
(success, )
)
(, {}, ()
(.Fonts.UI == , .. (.Fonts.UI))
(.Fonts.System == , .. (.Fonts.System))
(.Fonts.Plex == , .. (.Fonts.Plex))
(.Fonts.Monospace == , .. (.Fonts.Monospace))
)
(, {}, ()
drawing = .()
drawing.Visible =
destroySuccess, err = (()
drawing:()
)
(destroySuccess, .. (err))
)
(, {}, ()
drawing = .()
drawing.Visible =
visibleValue = (drawing, )
((visibleValue) == , .. (visibleValue))
success, colorValue = (()
(drawing, )
)
success colorValue ==
((colorValue) == (colorValue) == ,
.. (colorValue))
)
(, {}, ()
drawing = .()
drawing.Visible =
((drawing) == , )
nonRenderObject = newproxy () {}
((nonRenderObject) == , )
)
(, {}, ()
drawing = .()
drawing.Visible =
(drawing, , )
(drawing.Visible == , .. (drawing.Visible))
)
(, {}, ()
gcTable = ()
((gcTable) == , .. (gcTable))
(#gcTable > , )
)
(, {}, ()
env = ()
env.__TEST_GLOBAL =
(__TEST_GLOBAL == , )
env.__TEST_GLOBAL =
)
(, {}, ()
executorEnv = ()
( ~= executorEnv._G, )
)
isfolder makefolder delfolder
()
()
()
(, {}, ()
(, )
(, )
(, )
content = ()
(content == , .. (content) .. )
)
(, {}, ()
(, )
()
exists = ()
(exists == , .. (exists) .. )
)
(, {}, ()
()
()
exists = ()
(exists == , .. (exists) .. )
)
(, {}, ()
(, )
assetUrl = ()
((assetUrl) == , .. (assetUrl) .. )
(#assetUrl > , )
matched = .(assetUrl, )
(matched == , .. (assetUrl) .. )
)
(, {}, ()
(, )
(() == , )
(() == , )
(() == , .. (()) .. )
)
(, {}, ()
(() == , )
(() == , .. (()) .. )
)
(, {}, ()
()
(, )
(, )
files = ()
(#files == , .. #files .. )
_, file (files)
((file), .. (file) .. )
((file) == , )
()
()
()
folders = ()
(#folders == , .. #folders .. )
_, folder (folders)
((folder), .. (folder) .. )
)
(, {}, ()
(, )
fileFunc = (())
result = ()
(result == , .. (result) .. )
(, )
callback, err = ()
( callback err, )
)
(, {}, ()
()
(() == , )
)
(, {}, ()
(, )
content = ()
(content == , .. (content) .. )
)
(, {}, ()
(, )
content = ()
(content == , .. (content) .. )
requiresFileExt = (()
(, )
((), )
)
requiresFileExt
)
(, {}, ()
activeStatus = ()
((activeStatus) == , .. (activeStatus))
)
(, {}, ()
detector = .()
(detector, , )
)
(, {}, ()
part = .()
prompt = .()
prompt.Parent = part
(prompt)
)
(, {}, ()
partA = .()
partB = .()
successBegin, errBegin = (()
(partA, partB, )
)
(successBegin, .. (errBegin))
successEnd, errEnd = (()
(partA, partB, )
)
(successEnd, .. (errEnd))
)
(, {}, ()
bindable = .()
()
bindable.OnInvoke = callbackFunction
retrievedCallback = (bindable, )
(retrievedCallback == callbackFunction, )
)
(, {}, ()
huiInstance = ()
((huiInstance) == , .. (huiInstance))
)
(, {}, ()
instancesList = ()
(instancesList[]:(), )
)
(, {}, ()
nilInstances = ()
(nilInstances[]:(), )
(nilInstances[].Parent == , )
)
(, {}, ()
fireInstance = .()
((fireInstance, ) == , )
((fireInstance, ) == , )
)
(, {}, ()
expectedMT = { __metatable = }
obj = ({}, expectedMT)
rawMT = (obj)
(rawMT == expectedMT, )
)
(, {}, ()
obj = {}
.(obj)
readonlyStatus = (obj)
(readonlyStatus, )
)
(, {}, ()
obj = ({}, { __index = () , __metatable = })
newMT = { __index = () }
returnedObj = (obj, newMT)
(returnedObj == obj, )
(obj.test == , .. (obj.test))
)
(, {}, ()
obj = { success = }
.(obj)
(obj, )
obj.success =
(obj.success, .. (obj.success))
)
(, {}, ()
executorName, executorVersion = ()
((executorName) == , .. (executorName))
(executorVersion) ==
.. executorVersion
)
(, {}, ()
rawData =
compressedData = (rawData)
((compressedData) == , .. (compressedData))
decompressedData = (compressedData, #rawData)
(decompressedData == rawData, )
)
(, {}, ()
rawData =
compressedData = (rawData)
((compressedData) == , .. (compressedData))
decompressedData = (compressedData, #rawData)
(decompressedData == rawData, )
)
(, {, }, ()
response = ({
Url = ,
Method = ,
})
((response) == , .. (response))
(response.StatusCode == , .. (response.StatusCode))
jsonData = :():(response.Body)
((jsonData) == (jsonData[]) == , )
.. jsonData[]
)
(, {}, ()
clipboardText =
success, err = (()
(clipboardText)
)
(success, .. (err))
.. clipboardText
)
(, {}, ()
RunService = :()
()
totalFPS, count = ,
i = , count
dt = RunService.RenderStepped:()
totalFPS = totalFPS + ( / dt)
.(totalFPS / count)
()
fpsAt60 = ()
()
fpsAt0 = ()
fpsAt60 .. .. fpsAt0 ..
)
(, {}, ()
success, err = (()
()
)
(success, .. (err))
)
(, {}, ()
isMainCaller = ()
(isMainCaller, )
)
(, {}, ()
fireInstance = .()
propertyValue, isHidden = (fireInstance, )
(propertyValue == , .. (propertyValue))
(isHidden == , .. (isHidden))
)
(, {, }, ()
threadIdentity = ()
((threadIdentity) == , .. (threadIdentity))
)
(, {}, ()
fireInstance = .()
success = (fireInstance, , )
(success, )
newValue = (fireInstance, )
(newValue == , .. (newValue))
)
(, {}, ()
fireInstance = .()
wasScriptable = (fireInstance, , )
(wasScriptable == , .. (wasScriptable))
((fireInstance, ) == , )
anotherFire = .()
((anotherFire, ) == , )
)
(, {, }, ()
()
threadIdentity = ()
(threadIdentity == , .. (threadIdentity))
)
(t1, t2)
t1 == t2
UNIQUE_TYPES = {
[] = ,
[] = ,
[] = ,
[] = ,
}
k, v (t1)
UNIQUE_TYPES[(v)]
(t2[k]) ~= (v)
t2[k] ~= v
k, v (t2)
UNIQUE_TYPES[(v)]
(t1[k]) ~= (v)
t1[k] ~= v
(, {}, ()
()
()
callingScript = ()
((callingScript) == , .. (callingScript))
scriptClass = callingScript.ClassName
validScriptType = (scriptClass == scriptClass == scriptClass == )
(validScriptType, .. scriptClass)
.. callingScript:()
)
(, {}, ()
modules = ()
((modules) == , .. (modules))
(#modules > , )
((modules[]) == , )
(modules[]:(), )
)
(, {}, ()
animate = :().LocalPlayer.Character.Animate
bytecode = (animate)
((bytecode) == , .. animate.ClassName .. .. (bytecode))
)
(, {}, ()
module = :().RobloxGui.Modules.Common.Constants
expectedConstants = ().(module)
generatedConstants = (module)()
(expectedConstants ~= generatedConstants, )
((expectedConstants, generatedConstants), )
)
(, {}, ()
animate = :().LocalPlayer.Character.Animate:()
originalHash = (animate)
originalSource = animate.Source
animate.Source =
.(()
animate.Source = originalSource
)
modifiedHash = (animate)
(originalHash ~= modifiedHash, )
(modifiedHash == (animate), )
)
(, {}, ()
runningScripts = ()
((runningScripts) == , .. (runningScripts))
(#runningScripts > , )
((runningScripts[]) == , )
className = runningScripts[].ClassName
(className == className == , )
)
(, {}, ()
scripts = ()
((scripts) == , .. (scripts))
(#scripts > , )
((scripts[]) == , )
className = scripts[].ClassName
(className == className == , )
)
(, {}, ()
animate = :().LocalPlayer.Character.Animate
env = (animate)
((env) == , .. animate.ClassName .. .. (env))
(env.script == animate, .. animate:())
)
(, {}, ()
animate = :().LocalPlayer.Character.Animate
bytecode = (animate)
func = (bytecode)
((func) ~= , )
simpleFunc = (())
(() == , )
_, errMsg = ()
((errMsg) == , )
)
(, {}, ()
bindable = .()
receivedValue =
(val)
receivedValue = val
bindable.Event:(onFired)
(bindable.Event, )
(receivedValue == ,
.. (receivedValue))
)
(, {}, ()
expectedTypes = {
Enabled = ,
ForeignState = ,
LuaConnection = ,
Function = ,
Thread = ,
Fire = ,
Defer = ,
Disconnect = ,
Disable = ,
Enable = ,
}
bindable = .()
bindable.Event:(() )
connections = (bindable.Event)
((connections) == #connections >= ,
)
connection = connections[]
key, expectedType (expectedTypes)
(connection[key] ~= ,
.. key .. )
((connection[key]) == expectedType,
.. key .. .. expectedType ..
.. (connection[key]) .. )
)
(, {}, ()
sourceEvent = .()
targetEvent = .()
triggeredValue =
(val)
triggeredValue = val
sourceEvent.Event:(callback)
(sourceEvent.Event, targetEvent)
(targetEvent.Event, )
(triggeredValue == ,
.. (triggeredValue))
)
(, {}, ()
expectedProperties = {
Send = ,
Close = ,
OnMessage = {, },
OnClose = {, },
}
ws = WebSocket.()
((ws) == (ws) == ,
.. (ws))
propertyName, expectedType (expectedProperties)
(expectedType) ==
(.(expectedType, (ws[propertyName])),
.. propertyName .. .. .(expectedType, ) ..
.. (ws[propertyName]))
((ws[propertyName]) == expectedType,
.. propertyName .. .. expectedType ..
.. (ws[propertyName]))
ws:()
)
.(()
.() runningTests ==
totalTests = passes + fails
successRate = totalTests > .((passes / totalTests) * + )
()
( .. successRate .. .. passes .. .. totalTests .. )
( .. fails .. )
( .. aliasIssues .. )
)This is an improved version of the original UNC. Change Logs: 1.0.0 - Improved all the existing test functions. - Added getfunctionhash, fireproximityprompt, firetouchinterest, getcallingscript, setclipboard, queue_on_teleport, firesignal, and replicatesignal. Note: All the improved and added test functions are based on UNC and sUNC documentation.

Universal