diff options
author | Dan Gudmundsson <[email protected]> | 2015-07-08 16:09:53 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2015-07-08 16:09:53 +0200 |
commit | 3461837363d82e6c908ac81f664da4372aa3a8b0 (patch) | |
tree | fe3fc1a577f708f5a5721b0dc7aa74eb5d1e870e /lib/wx/test | |
parent | 832aa9e06aced4975c9cb02257f74827602217aa (diff) | |
parent | fcbc24440945a13b379b2b6135599c982bf8bdf0 (diff) | |
download | otp-3461837363d82e6c908ac81f664da4372aa3a8b0.tar.gz otp-3461837363d82e6c908ac81f664da4372aa3a8b0.tar.bz2 otp-3461837363d82e6c908ac81f664da4372aa3a8b0.zip |
Merge branch 'dgud/wx/send-asserts-to-erl' into maint
* dgud/wx/send-asserts-to-erl:
wx: Add event callback fastpath
wx: Event callbacks could hang wx application temporary
wx: Make wxLANGUAGE_ variable
wx: Send wxWdigets assert to error logger
wx: Add mouse_capture_lost event
wx: Fix code generator
Diffstat (limited to 'lib/wx/test')
-rw-r--r-- | lib/wx/test/wx_class_SUITE.erl | 36 | ||||
-rw-r--r-- | lib/wx/test/wx_event_SUITE.erl | 11 |
2 files changed, 42 insertions, 5 deletions
diff --git a/lib/wx/test/wx_class_SUITE.erl b/lib/wx/test/wx_class_SUITE.erl index fd6023a820..465299a649 100644 --- a/lib/wx/test/wx_class_SUITE.erl +++ b/lib/wx/test/wx_class_SUITE.erl @@ -386,13 +386,17 @@ listCtrlSort(Config) -> io:format("Sorted ~p ~n",[Time]), Item = wxListItem:new(), + + %% Force an assert on (and debug compiled) which 3.0 is by default + wxListItem:setId(Item, 200), + io:format("Got ~p ~n", [wxListCtrl:getItem(LC, Item)]), + wxListItem:setMask(Item, ?wxLIST_MASK_TEXT), _List = wx:map(fun(Int) -> wxListItem:setId(Item, Int), ?m(true, wxListCtrl:getItem(LC, Item)), io:format("~p: ~s~n",[Int, wxListItem:getText(Item)]) end, lists:seq(0,10)), - wxListItem:destroy(Item), wx_test_lib:wx_destroy(Frame,Config). @@ -525,7 +529,6 @@ toolbar(Config) -> wxFrame:show(Frame), wx_test_lib:wx_destroy(Frame,Config). - popup(TestInfo) when is_atom(TestInfo) -> wx_test_lib:tc_info(TestInfo); popup(Config) -> Wx = wx:new(), @@ -575,3 +578,32 @@ popup(Config) -> wxPopupTransientWindow:dismiss(Pop) end, wx_test_lib:wx_destroy(Frame,Config). + +locale(TestInfo) when is_atom(TestInfo) -> wx_test_lib:tc_info(TestInfo); +locale(_Config) -> + wx:new(), + io:format("SystemEncoding: ~p~n",[wxLocale:getSystemEncoding()]), + io:format("SystemEncodingName: ~ts~n",[wxLocale:getSystemEncodingName()]), + io:format("SystemLanguage: ~p~n",[wxLocale:getSystemLanguage()]), + io:format("SystemLanguageName: ~p~n",[wxLocale:getLanguageName(wxLocale:getSystemLanguage())]), + lang_env(), + LC = wxLocale:new(), + %% wxLocale:addCatalog(LC, "wxstd"), + io:format("Swedish: ~p~n",[wxLocale:getLanguageName(?wxLANGUAGE_SWEDISH)]), + R0 = wxLocale:init(LC, [{language, ?wxLANGUAGE_SWEDISH}, {flags, 0}]), + io:format("initiated ~p~n",[R0]), + lang_env(), + ok. +%% wx_test_lib:wx_destroy(Frame,Config). + +lang_env() -> + Env0 = os:getenv(), + Env = [[R,"\n"]||R <- Env0], + %%io:format("~p~n",[lists:sort(Env)]), + Opts = [global, multiline, {capture, all, list}], + format_env(re:run(Env, "LC_ALL.*", Opts)), + format_env(re:run(Env, "^LANG.*=.*$", Opts)), + ok. +format_env({match, List}) -> + [io:format(" ~ts~n",[L]) || L <- List]; +format_env(nomatch) -> ok. diff --git a/lib/wx/test/wx_event_SUITE.erl b/lib/wx/test/wx_event_SUITE.erl index 2d6f7b6aaa..7e71d6ca69 100644 --- a/lib/wx/test/wx_event_SUITE.erl +++ b/lib/wx/test/wx_event_SUITE.erl @@ -78,7 +78,6 @@ connect(Config) -> Tester ! {got_size, UserD} end, - ?m(ok, wxFrame:connect(Frame, size)), ?m(ok, wxEvtHandler:connect(Panel, size,[{skip, true},{userData, panel}])), ?m(ok, wxEvtHandler:connect(Panel, size,[{callback,CB},{userData, panel}])), @@ -91,12 +90,16 @@ connect(Config) -> ?m(ok, wxWindow:connect(Window, size,[{callback,CB},{userData, window}])), ?m(ok, wxWindow:connect(Window, size,[{skip,true},{userData, window}])), + %% For trivial side effect free callbacks, can deadlock easily otherwise + CB1 = fun(_,_) -> Tester ! {got_size, nospawn_cb} end, + ?m(ok, wxWindow:connect(Frame, size, [{callback,{nospawn, CB1}}])), + ?m(ok, wxFrame:connect(Frame, size, [{skip, true}])), ?m(true, wxFrame:show(Frame)), wxWindow:setSize(Panel, {200,100}), wxWindow:setSize(Window, {200,100}), - get_size_messages(Frame, [frame, panel_cb, window_cb, window]), + get_size_messages(Frame, [frame, panel_cb, window_cb, window, nospawn_cb]), wx_test_lib:wx_destroy(Frame, Config). @@ -115,7 +118,9 @@ get_size_messages(Frame, Msgs) -> ?m(false, lists:member(window, Msgs)), get_size_messages(Frame, lists:delete(window_cb, Msgs)); {got_size,panel} -> - get_size_messages(Frame, lists:delete(panel_cb, Msgs)); + get_size_messages(Frame, lists:delete(panel_cb, Msgs)); + {got_size,nospawn_cb} -> + get_size_messages(Frame, lists:delete(nospawn_cb, Msgs)); Other -> ?error("Got unexpected msg ~p ~p~n", [Other,Msgs]) after 1000 -> |