Alert: ************ Initial State ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert: Expected Globals:
Alert:   true_var = undefined
Alert:   false_var = undefined
Alert:   zero_var = undefined
Alert:   number_var = undefined
Alert:   string_var = undefined
Alert:   object_var = undefined
Alert:   null_var = undefined
Alert:   undefined_var = undefined
Alert: ************ After Setup ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert:   false_var = false, own property = true
Alert:   null_var = null, own property = true
Alert:   number_var = -3.918, own property = true
Alert:   object_var = [object Object], own property = true
Alert:   string_var = This is a string, own property = true
Alert:   true_var = true, own property = true
Alert:   zero_var = 0, own property = true
Alert: Expected Globals:
Alert:   true_var = true
Alert:   false_var = false
Alert:   zero_var = 0
Alert:   number_var = -3.918
Alert:   string_var = This is a string
Alert:   object_var = [object Object]
Alert:     red
Alert:     green
Alert:     blue
Alert:   null_var = null
Alert:   undefined_var = undefined
Alert: ************ After Deletion ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert: Expected Globals:
Alert:   true_var = undefined
Alert:   false_var = undefined
Alert:   zero_var = undefined
Alert:   number_var = undefined
Alert:   string_var = undefined
Alert:   object_var = undefined
Alert:   null_var = undefined
Alert:   undefined_var = undefined
Alert: For undefined_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: ************ After Setup and Persist false ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert:   false_var = false, own property = true
Alert:   null_var = null, own property = true
Alert:   number_var = -3.918, own property = true
Alert:   object_var = [object Object], own property = true
Alert:   string_var = This is a string, own property = true
Alert:   true_var = true, own property = true
Alert:   zero_var = 0, own property = true
Alert: Expected Globals:
Alert:   true_var = true
Alert:   false_var = false
Alert:   zero_var = 0
Alert:   number_var = -3.918
Alert:   string_var = This is a string
Alert:   object_var = [object Object]
Alert:     red
Alert:     green
Alert:     blue
Alert:   null_var = null
Alert:   undefined_var = undefined
Alert: For true_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For false_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For zero_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For number_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For string_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For object_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For null_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: For undefined_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: ************ After Delete and Persist ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert: Expected Globals:
Alert:   true_var = undefined
Alert:   false_var = undefined
Alert:   zero_var = undefined
Alert:   number_var = undefined
Alert:   string_var = undefined
Alert:   object_var = undefined
Alert:   null_var = undefined
Alert:   undefined_var = undefined
Alert: For undefined_var: Set Persistent: ERROR: global.setPersistent: Global value not found.
Alert: ************ After Setup and Persist true ************
Alert: Enumerable Globals:
Alert:   setPersistent = function setPersistent() { [native code] }, own property = true
Alert:   false_var = false, own property = true
Alert:   null_var = null, own property = true
Alert:   number_var = -3.918, own property = true
Alert:   object_var = [object Object], own property = true
Alert:   string_var = This is a string, own property = true
Alert:   true_var = true, own property = true
Alert:   zero_var = 0, own property = true
Alert: Expected Globals:
Alert:   true_var = true
Alert:   false_var = false
Alert:   zero_var = 0
Alert:   number_var = -3.918
Alert:   string_var = This is a string
Alert:   object_var = [object Object]
Alert:     red
Alert:     green
Alert:     blue
Alert:   null_var = null
Alert:   undefined_var = undefined
