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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
-- test script for wslua utility functions
local testlib = require("testlib")
local GET_PREF = "get"
local SET_PREF = "set"
local RESET_PREF = "reset"
local OTHER = "other"
testlib.init( {
[GET_PREF] = 14,
[SET_PREF] = 39,
[RESET_PREF] = 11,
[OTHER] = 0
} )
local console_open
--------------------------
-- Note: This tests expects some specific default values
testlib.testing("get_preference")
success = pcall(get_preference)
testlib.test(GET_PREF,"get_preference-empty-0", not success)
testlib.test(GET_PREF,"get_preference-empty-1",get_preference("") == nil)
testlib.test(GET_PREF,"get_preference-unknown-0",get_preference("g") == nil)
testlib.test(GET_PREF,"get_preference-unknown-1",get_preference("gui") == nil)
testlib.test(GET_PREF,"get_preference-unknown-2",get_preference("gui.") == nil)
testlib.test(GET_PREF,"get_preference-unknown-3",get_preference("gui.ask") == nil)
testlib.test(GET_PREF,"get_preference-unknown-4",get_preference("ugi.ask_unsaved") == nil)
testlib.test(GET_PREF,"get_preference-uint-0",get_preference("gui.fileopen.preview") == 3)
testlib.test(GET_PREF,"get_preference-bool-0",get_preference("gui.ask_unsaved") == true)
testlib.test(GET_PREF,"get_preference-bool-1",get_preference("gui.interfaces_show_hidden") == false)
-- gui.console_open is persistent (in the Windows registry) and for that
-- reason does not have a default value.
console_open = get_preference("gui.console_open")
testlib.test(GET_PREF,"get_preference-enum-0",console_open == "NEVER" or console_open == "AUTOMATIC" or console_open == "ALWAYS")
testlib.test(GET_PREF,"get_preference-string-0",get_preference("gui.window_title") == "")
testlib.test(GET_PREF,"get_preference-range-0",get_preference("http.tls.port") == "443")
success = pcall(get_preference, "user_dlt.encaps_table")
testlib.test(GET_PREF,"get_preference-uat-0", success)
--------------------------
testlib.testing("set_preference")
success = pcall(set_preference)
testlib.test(SET_PREF,"set_preference-empty-0", not success)
testlib.test(SET_PREF,"set_preference-empty-1",set_preference("") == nil)
testlib.test(SET_PREF,"set_preference-unknown-0",set_preference("g") == nil)
testlib.test(SET_PREF,"set_preference-unknown-1",set_preference("gui") == nil)
testlib.test(SET_PREF,"set_preference-unknown-2",set_preference("gui.") == nil)
testlib.test(SET_PREF,"set_preference-unknown-3",set_preference("gui.ask") == nil)
testlib.test(SET_PREF,"set_preference-unknown-4",set_preference("ugi.ask_unsaved") == nil)
success = pcall(set_preference,"gui.fileopen.preview")
testlib.test(SET_PREF,"set_preference-uint-0", not success)
success = pcall(set_preference,"gui.fileopen.preview",true)
testlib.test(SET_PREF,"set_preference-uint-1", not success)
success = pcall(set_preference,"gui.fileopen.preview","string")
testlib.test(SET_PREF,"set_preference-uint-2", not success)
testlib.test(SET_PREF,"set_preference-uint-3",set_preference("gui.fileopen.preview",3) == false)
testlib.test(SET_PREF,"set_preference-uint-4",set_preference("gui.fileopen.preview",42) == true)
testlib.test(SET_PREF,"set_preference-uint-4-get",get_preference("gui.fileopen.preview") == 42)
success = pcall(set_preference,"gui.ask_unsaved")
testlib.test(SET_PREF,"set_preference-bool-0", not success)
success = pcall(set_preference,"gui.ask_unsaved",42)
testlib.test(SET_PREF,"set_preference-bool-1", not success)
success = pcall(set_preference,"gui.ask_unsaved","string")
testlib.test(SET_PREF,"set_preference-bool-2", not success)
testlib.test(SET_PREF,"set_preference-bool-3",set_preference("gui.ask_unsaved", true) == false)
testlib.test(SET_PREF,"set_preference-bool-4",set_preference("gui.ask_unsaved", false) == true)
success = pcall(set_preference,"gui.console_open")
testlib.test(SET_PREF,"set_preference-enum-0", not success)
success = pcall(set_preference,"gui.console_open",true)
testlib.test(SET_PREF,"set_preference-enum-1", not success)
-- false means unchanged
testlib.test(SET_PREF,"set_preference-enum-2",set_preference("gui.console_open",console_open) == false)
success = pcall(set_preference,"gui.window_title")
testlib.test(SET_PREF,"set_preference-string-0", not success)
success = pcall(set_preference,"gui.window_title",true)
testlib.test(SET_PREF,"set_preference-string-1", not success)
testlib.test(SET_PREF,"set_preference-string-2",set_preference("gui.window_title","Title") == true)
testlib.test(SET_PREF,"set_preference-string-2-get",get_preference("gui.window_title") == "Title")
testlib.test(SET_PREF,"set_preference-string-3",set_preference("gui.window_title","Title") == false)
testlib.test(SET_PREF,"set_preference-string-4",set_preference("gui.window_title","") == true)
testlib.test(SET_PREF,"set_preference-string-4-get",get_preference("gui.window_title") == "")
testlib.test(SET_PREF,"set_preference-string-5",set_preference("gui.window_title","") == false)
success = pcall(set_preference,"http.tls.port")
testlib.test(SET_PREF,"set_preference-range-0", not success)
success = pcall(set_preference,"http.tls.port","65536") -- Number too big
testlib.test(SET_PREF,"set_preference-range-1", not success)
success = pcall(set_preference,"http.tls.port","http") -- Syntax error
testlib.test(SET_PREF,"set_preference-range-2", not success)
testlib.test(SET_PREF,"set_preference-range-3",set_preference("http.tls.port","443") == false)
testlib.test(SET_PREF,"set_preference-range-4",set_preference("http.tls.port","443-444") == true)
testlib.test(SET_PREF,"set_preference-range-4-get",get_preference("http.tls.port") == "443-444")
testlib.test(SET_PREF,"set_preference-range-5",set_preference("http.tls.port","443-444") == false)
testlib.test(SET_PREF,"set_preference-range-6",set_preference("http.tls.port","443,444") == true) -- XXX - Returns "changed" because ranges_are_equal is false, 1 range of 2 vs 2 ranges of 1
testlib.test(SET_PREF,"set_preference-range-7",set_preference("http.tls.port","443,444") == false)
success = pcall(set_preference, "user_dlt.encaps_table")
testlib.test(SET_PREF,"set_preference-uat-0", not success)
--------------------------
testlib.testing("reset_preference")
success = pcall(set_preference)
testlib.test(RESET_PREF,"reset_preference-empty-0", not success)
testlib.test(RESET_PREF,"reset_preference-empty-1",reset_preference("") == nil)
testlib.test(RESET_PREF,"reset_preference-unknown-0",reset_preference("unknown") == nil)
testlib.test(RESET_PREF,"reset_preference-uint-0",reset_preference("gui.fileopen.preview") == true)
testlib.test(RESET_PREF,"reset_preference-uint-0-get",get_preference("gui.fileopen.preview") == 3)
testlib.test(RESET_PREF,"reset_preference-bool-0",reset_preference("gui.ask_unsaved") == true)
testlib.test(RESET_PREF,"reset_preference-bool-0-get",get_preference("gui.ask_unsaved") == true)
testlib.test(RESET_PREF,"reset_preference-string-0",reset_preference("gui.window_title") == true)
testlib.test(RESET_PREF,"reset_preference-string-0-get",get_preference("gui.window_title") == "")
testlib.test(RESET_PREF,"reset_preference-range-0",reset_preference("http.tls.port") == true)
testlib.test(RESET_PREF,"reset_preference-range-0-get",get_preference("http.tls.port") == "443")
testlib.getResults()
|