| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658 |
- (* _
- * ___ __ _ __ _ _ _(_)
- * / __|/ _` |/ _` | | | | |
- * \__ \ (_| | (_| | |_| | |
- * |___/\__,_|\__, |\__,_|_|
- * |___/
- *
- * Cross-platform library which helps to develop web servers or frameworks.
- *
- * Copyright (c) 2012-2021 Silvio Clecio <[email protected]>
- *
- * Brook framework is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * Brook framework 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with Brook framework; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *)
- program Test_libsagui;
- {$I Tests.inc}
- {.$DEFINE TLS_SUPPORT}
- uses
- RTLConsts,
- SysUtils,
- Classes,
- Platform,
- libsagui,
- Test;
- type
- TFakeObject = class
- public
- procedure DoAddUnloadEvent1(ASender: TObject);
- procedure DoAddUnloadEvent2(ASender: TObject);
- procedure DoAddUnloadEvent3(ASender: TObject);
- end;
- procedure TFakeObject.DoAddUnloadEvent1(ASender: TObject);
- begin
- TComponent(ASender).Name := 'abc';
- end;
- procedure TFakeObject.DoAddUnloadEvent2(ASender: TObject);
- begin
- TComponent(ASender).Name := 'def';
- end;
- procedure TFakeObject.DoAddUnloadEvent3(ASender: TObject);
- begin
- TComponent(ASender).Name := 'ghi';
- end;
- procedure DoAddUnloadEvent(const AArgs: array of const);
- begin
- SgLib.UnloadEvents.Add(nil, AArgs[0].VObject);
- end;
- procedure Test_AddUnloadEvent;
- var
- O: TFakeObject;
- C1, C2, C3: TComponent;
- begin
- O := TFakeObject.Create;
- C1 := TComponent.Create(nil);
- C2 := TComponent.Create(nil);
- C3 := TComponent.Create(nil);
- try
- AssertExcept(DoAddUnloadEvent, EArgumentNilException,
- Format(SParamIsNil, ['AEvent']), [O]);
- SgLib.UnloadEvents.Clear;
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent1, nil);
- SgLib.UnloadEvents.Remove(O.DoAddUnloadEvent1);
- SgLib.Load(SG_LIB_NAME);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent1, C1);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent2, C2);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent3, C3);
- Assert(C1.Name = '');
- Assert(C2.Name = '');
- Assert(C3.Name = '');
- SgLib.Unload;
- Assert(C1.Name = 'abc');
- Assert(C2.Name = 'def');
- Assert(C3.Name = 'ghi');
- SgLib.UnloadEvents.Clear;
- finally
- O.Free;
- C3.Free;
- C2.Free;
- C1.Free;
- end;
- end;
- procedure DoRemoveUnloadEvent;
- begin
- SgLib.UnloadEvents.Remove(nil);
- end;
- procedure Test_RemoveNotifier;
- var
- O: TFakeObject;
- C1, C2, C3: TComponent;
- begin
- AssertExcept(DoRemoveUnloadEvent, EArgumentNilException,
- Format(SParamIsNil, ['AEvent']));
- O := TFakeObject.Create;
- C1 := TComponent.Create(nil);
- C2 := TComponent.Create(nil);
- C3 := TComponent.Create(nil);
- try
- SgLib.UnloadEvents.Clear;
- SgLib.Load(SG_LIB_NAME);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent1, C1);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent2, C2);
- SgLib.UnloadEvents.Add(O.DoAddUnloadEvent3, C3);
- SgLib.UnloadEvents.Remove(O.DoAddUnloadEvent2);
- SgLib.Unload;
- Assert(C1.Name = 'abc');
- Assert(C2.Name = '');
- Assert(C3.Name = 'ghi');
- SgLib.UnloadEvents.Clear;
- finally
- C3.Free;
- C2.Free;
- C1.Free;
- O.Free;
- end;
- end;
- procedure Test_GetLastName;
- begin
- SgLib.Unload;
- Assert(SgLib.GetLastName = '');
- SgLib.Load(SG_LIB_NAME);
- Assert(SgLib.GetLastName = SG_LIB_NAME);
- end;
- procedure DoSgLibCheckVersion1;
- begin
- SgLib.CheckVersion((Pred(SG_VERSION_MAJOR) shl 16) or
- (SG_VERSION_MINOR shl 8) or SG_VERSION_PATCH);
- end;
- procedure DoSgLibCheckVersion2;
- begin
- SgLib.CheckVersion((Succ(SG_VERSION_MAJOR) shl 16) or
- (SG_VERSION_MINOR shl 8) or SG_VERSION_PATCH);
- end;
- procedure DoSgLibCheckVersion3;
- begin
- SgLib.CheckVersion((SG_VERSION_MAJOR shl 16) or
- (Pred(SG_VERSION_MINOR) shl 8) or SG_VERSION_PATCH);
- end;
- procedure DoSgLibCheckVersion4;
- begin
- SgLib.CheckVersion((SG_VERSION_MAJOR shl 16) or
- (SG_VERSION_MINOR shl 8) or Pred(SG_VERSION_PATCH));
- end;
- procedure Test_CheckVersion;
- begin
- SgLib.Unload;
- SgLib.Load(SG_LIB_NAME);
- AssertExcept(DoSgLibCheckVersion1, EInvalidOpException,
- Format(SSgLibVersion, [SG_VERSION_MAJOR, SG_VERSION_MINOR, SG_VERSION_PATCH]));
- SgLib.Load(SG_LIB_NAME);
- AssertExcept(DoSgLibCheckVersion2, EInvalidOpException,
- Format(SSgLibVersion, [SG_VERSION_MAJOR, SG_VERSION_MINOR, SG_VERSION_PATCH]));
- SgLib.Load(SG_LIB_NAME);
- AssertExcept(DoSgLibCheckVersion3, EInvalidOpException,
- Format(SSgLibVersion, [SG_VERSION_MAJOR, SG_VERSION_MINOR, SG_VERSION_PATCH]));
- SgLib.Load(SG_LIB_NAME);
- SgLib.CheckVersion((SG_VERSION_MAJOR shl 16) or
- (Succ(SG_VERSION_MINOR) shl 8) or SG_VERSION_PATCH);
- AssertExcept(DoSgLibCheckVersion4, EInvalidOpException,
- Format(SSgLibVersion, [SG_VERSION_MAJOR, SG_VERSION_MINOR, SG_VERSION_PATCH]));
- SgLib.Load(SG_LIB_NAME);
- SgLib.CheckVersion((SG_VERSION_MAJOR shl 16) or
- (Succ(SG_VERSION_MINOR) shl 8) or 0);
- SgLib.CheckVersion;
- end;
- procedure DoSgLibCheckLastError1;
- begin
- SgLib.CheckLastError(EINVAL);
- end;
- procedure DoSgLibCheckLastError2;
- begin
- SgLib.CheckLastError(456);
- end;
- procedure Test_CheckLastError;
- function strerror(ALastError: Integer): string;
- var
- P: array[0..SG_ERR_SIZE-1] of cchar;
- begin
- sg_strerror(ALastError, @P[0], SG_ERR_SIZE);
- {$IFDEF FPC}
- SetString(Result, @P[0], Length(Pcchar(@P[0])));
- SetCodePage(RawByteString(Result), CP_UTF8, False);
- {$ELSE}
- Result := TMarshal.ReadStringAsUtf8(TPtrWrapper.Create(@P[0]));
- {$ENDIF}
- end;
- var
- F: Pointer;
- begin
- SgLib.CheckLastError(0);
- F := @sg_strerror;
- sg_strerror := nil;
- SgLib.CheckLastError(123);
- sg_strerror := F;
- AssertOSExcept(DoSgLibCheckLastError1, strerror(EINVAL), EINVAL);
- AssertOSExcept(DoSgLibCheckLastError2, strerror(456), 456);
- end;
- procedure DoSgLibLoad1;
- begin
- Assert(SgLib.Load('') = NilHandle);
- end;
- procedure DoSgLibLoad2;
- begin
- Assert(SgLib.Load('abc') = NilHandle);
- end;
- procedure Test_Load;
- begin
- SgLib.Unload;
- AssertExcept(DoSgLibLoad1, EArgumentException, SSgLibEmptyName);
- AssertExcept(DoSgLibLoad2, ESgLibNotLoaded, Format(SSgLibNotLoaded, ['abc']));
- Assert(SgLib.Load(SG_LIB_NAME) <> NilHandle);
- end;
- procedure Test_Unload;
- begin
- Assert(SgLib.Load(SG_LIB_NAME) <> NilHandle);
- Assert(SgLib.Unload = NilHandle);
- end;
- procedure Test_IsLoaded;
- begin
- SgLib.Unload;
- Assert(not SgLib.IsLoaded);
- SgLib.Load(SG_LIB_NAME);
- Assert(SgLib.IsLoaded);
- end;
- procedure DoSgLibCheck;
- begin
- SgLib.Unload;
- SgLib.Check;
- end;
- procedure Test_Check;
- begin
- AssertExcept(DoSgLibCheck, ESgLibNotLoaded,
- Format(SSgLibNotLoaded, [SG_LIB_NAME]));
- end;
- procedure Test_Handle;
- begin
- SgLib.Unload;
- Assert(SgLib.Handle = NilHandle);
- SgLib.Load(SG_LIB_NAME);
- Assert(SgLib.Handle <> NilHandle);
- end;
- procedure Test_Binding;
- begin
- SgLib.Unload;
- Assert(not Assigned(sg_version));
- Assert(not Assigned(sg_version_str));
- Assert(not Assigned(sg_mm_set));
- Assert(not Assigned(sg_malloc));
- Assert(not Assigned(sg_alloc));
- Assert(not Assigned(sg_realloc));
- Assert(not Assigned(sg_free));
- Assert(not Assigned(sg_math_set));
- Assert(not Assigned(sg_strerror));
- Assert(not Assigned(sg_is_post));
- Assert(not Assigned(sg_extract_entrypoint));
- Assert(not Assigned(sg_tmpdir));
- Assert(not Assigned(sg_eor));
- Assert(not Assigned(sg_ip));
- Assert(not Assigned(sg_str_new));
- Assert(not Assigned(sg_str_free));
- Assert(not Assigned(sg_str_write));
- Assert(not Assigned(sg_str_printf_va));
- Assert(not Assigned(sg_str_printf));
- Assert(not Assigned(sg_str_content));
- Assert(not Assigned(sg_str_length));
- Assert(not Assigned(sg_str_clear));
- Assert(not Assigned(sg_strmap_name));
- Assert(not Assigned(sg_strmap_val));
- Assert(not Assigned(sg_strmap_add));
- Assert(not Assigned(sg_strmap_set));
- Assert(not Assigned(sg_strmap_find));
- Assert(not Assigned(sg_strmap_get));
- Assert(not Assigned(sg_strmap_rm));
- Assert(not Assigned(sg_strmap_iter));
- Assert(not Assigned(sg_strmap_sort));
- Assert(not Assigned(sg_strmap_count));
- Assert(not Assigned(sg_strmap_next));
- Assert(not Assigned(sg_strmap_cleanup));
- Assert(not Assigned(sg_httpauth_set_realm));
- Assert(not Assigned(sg_httpauth_realm));
- Assert(not Assigned(sg_httpauth_deny2));
- Assert(not Assigned(sg_httpauth_deny));
- Assert(not Assigned(sg_httpauth_cancel));
- Assert(not Assigned(sg_httpauth_usr));
- Assert(not Assigned(sg_httpauth_pwd));
- Assert(not Assigned(sg_httpuplds_iter));
- Assert(not Assigned(sg_httpuplds_next));
- Assert(not Assigned(sg_httpuplds_count));
- Assert(not Assigned(sg_httpupld_handle));
- Assert(not Assigned(sg_httpupld_dir));
- Assert(not Assigned(sg_httpupld_field));
- Assert(not Assigned(sg_httpupld_name));
- Assert(not Assigned(sg_httpupld_mime));
- Assert(not Assigned(sg_httpupld_encoding));
- Assert(not Assigned(sg_httpupld_size));
- Assert(not Assigned(sg_httpupld_save));
- Assert(not Assigned(sg_httpupld_save_as));
- Assert(not Assigned(sg_httpreq_srv));
- Assert(not Assigned(sg_httpreq_headers));
- Assert(not Assigned(sg_httpreq_cookies));
- Assert(not Assigned(sg_httpreq_params));
- Assert(not Assigned(sg_httpreq_fields));
- Assert(not Assigned(sg_httpreq_version));
- Assert(not Assigned(sg_httpreq_method));
- Assert(not Assigned(sg_httpreq_path));
- Assert(not Assigned(sg_httpreq_payload));
- Assert(not Assigned(sg_httpreq_is_uploading));
- Assert(not Assigned(sg_httpreq_uploads));
- Assert(not Assigned(sg_httpreq_client));
- {$IFDEF TLS_SUPPORT}
- Assert(not Assigned(sg_httpreq_tls_session));
- {$ENDIF}
- Assert(not Assigned(sg_httpreq_isolate));
- Assert(not Assigned(sg_httpreq_set_user_data));
- Assert(not Assigned(sg_httpreq_user_data));
- Assert(not Assigned(sg_httpres_headers));
- Assert(not Assigned(sg_httpres_set_cookie));
- Assert(not Assigned(sg_httpres_sendbinary));
- Assert(not Assigned(sg_httpres_sendfile2));
- Assert(not Assigned(sg_httpres_sendfile));
- Assert(not Assigned(sg_httpres_sendstream));
- Assert(not Assigned(sg_httpres_zsendbinary2));
- Assert(not Assigned(sg_httpres_zsendbinary));
- Assert(not Assigned(sg_httpres_zsendstream2));
- Assert(not Assigned(sg_httpres_zsendstream));
- Assert(not Assigned(sg_httpres_zsendfile2));
- Assert(not Assigned(sg_httpres_zsendfile));
- Assert(not Assigned(sg_httpres_reset));
- Assert(not Assigned(sg_httpres_clear));
- Assert(not Assigned(sg_httpres_is_empty));
- Assert(not Assigned(sg_httpsrv_new2));
- Assert(not Assigned(sg_httpsrv_new));
- Assert(not Assigned(sg_httpsrv_free));
- {$IFDEF TLS_SUPPORT}
- Assert(not Assigned(sg_httpsrv_tls_listen3));
- Assert(not Assigned(sg_httpsrv_tls_listen2));
- Assert(not Assigned(sg_httpsrv_tls_listen));
- {$ENDIF}
- Assert(not Assigned(sg_httpsrv_listen));
- Assert(not Assigned(sg_httpsrv_shutdown));
- Assert(not Assigned(sg_httpsrv_port));
- Assert(not Assigned(sg_httpsrv_is_threaded));
- Assert(not Assigned(sg_httpsrv_set_cli_cb));
- Assert(not Assigned(sg_httpsrv_set_upld_cbs));
- Assert(not Assigned(sg_httpsrv_set_upld_dir));
- Assert(not Assigned(sg_httpsrv_upld_dir));
- Assert(not Assigned(sg_httpsrv_set_post_buf_size));
- Assert(not Assigned(sg_httpsrv_post_buf_size));
- Assert(not Assigned(sg_httpsrv_set_payld_limit));
- Assert(not Assigned(sg_httpsrv_payld_limit));
- Assert(not Assigned(sg_httpsrv_set_uplds_limit));
- Assert(not Assigned(sg_httpsrv_uplds_limit));
- Assert(not Assigned(sg_httpsrv_set_thr_pool_size));
- Assert(not Assigned(sg_httpsrv_thr_pool_size));
- Assert(not Assigned(sg_httpsrv_set_con_timeout));
- Assert(not Assigned(sg_httpsrv_con_timeout));
- Assert(not Assigned(sg_httpsrv_set_con_limit));
- Assert(not Assigned(sg_httpsrv_con_limit));
- Assert(not Assigned(sg_httpsrv_handle));
- Assert(not Assigned(sg_entrypoint_name));
- Assert(not Assigned(sg_entrypoint_set_user_data));
- Assert(not Assigned(sg_entrypoint_user_data));
- Assert(not Assigned(sg_entrypoints_new));
- Assert(not Assigned(sg_entrypoints_free));
- Assert(not Assigned(sg_entrypoints_add));
- Assert(not Assigned(sg_entrypoints_rm));
- Assert(not Assigned(sg_entrypoints_iter));
- Assert(not Assigned(sg_entrypoints_clear));
- Assert(not Assigned(sg_entrypoints_find));
- Assert(not Assigned(sg_route_handle));
- Assert(not Assigned(sg_route_match));
- Assert(not Assigned(sg_route_rawpattern));
- Assert(not Assigned(sg_route_pattern));
- Assert(not Assigned(sg_route_path));
- Assert(not Assigned(sg_route_segments_iter));
- Assert(not Assigned(sg_route_vars_iter));
- Assert(not Assigned(sg_route_user_data));
- Assert(not Assigned(sg_routes_add2));
- Assert(not Assigned(sg_routes_add));
- Assert(not Assigned(sg_routes_rm));
- Assert(not Assigned(sg_routes_iter));
- Assert(not Assigned(sg_routes_next));
- Assert(not Assigned(sg_routes_count));
- Assert(not Assigned(sg_routes_cleanup));
- Assert(not Assigned(sg_router_new));
- Assert(not Assigned(sg_router_free));
- Assert(not Assigned(sg_router_dispatch2));
- Assert(not Assigned(sg_router_dispatch));
- Assert(not Assigned(sg_expr_new));
- Assert(not Assigned(sg_expr_free));
- Assert(not Assigned(sg_expr_compile));
- Assert(not Assigned(sg_expr_clear));
- Assert(not Assigned(sg_expr_eval));
- Assert(not Assigned(sg_expr_var));
- Assert(not Assigned(sg_expr_set_var));
- Assert(not Assigned(sg_expr_arg));
- Assert(not Assigned(sg_expr_near));
- Assert(not Assigned(sg_expr_err));
- Assert(not Assigned(sg_expr_strerror));
- Assert(not Assigned(sg_expr_calc));
- SgLib.Load(SG_LIB_NAME);
- Assert(Assigned(sg_version));
- Assert(Assigned(sg_version_str));
- Assert(Assigned(sg_mm_set));
- Assert(Assigned(sg_malloc));
- Assert(Assigned(sg_alloc));
- Assert(Assigned(sg_realloc));
- Assert(Assigned(sg_free));
- Assert(Assigned(sg_math_set));
- Assert(Assigned(sg_strerror));
- Assert(Assigned(sg_is_post));
- Assert(Assigned(sg_extract_entrypoint));
- Assert(Assigned(sg_tmpdir));
- Assert(Assigned(sg_eor));
- Assert(Assigned(sg_ip));
- Assert(Assigned(sg_str_new));
- Assert(Assigned(sg_str_free));
- Assert(Assigned(sg_str_write));
- Assert(Assigned(sg_str_printf_va));
- Assert(Assigned(sg_str_printf));
- Assert(Assigned(sg_str_content));
- Assert(Assigned(sg_str_length));
- Assert(Assigned(sg_str_clear));
- Assert(Assigned(sg_strmap_name));
- Assert(Assigned(sg_strmap_val));
- Assert(Assigned(sg_strmap_add));
- Assert(Assigned(sg_strmap_set));
- Assert(Assigned(sg_strmap_find));
- Assert(Assigned(sg_strmap_get));
- Assert(Assigned(sg_strmap_rm));
- Assert(Assigned(sg_strmap_iter));
- Assert(Assigned(sg_strmap_sort));
- Assert(Assigned(sg_strmap_count));
- Assert(Assigned(sg_strmap_next));
- Assert(Assigned(sg_strmap_cleanup));
- Assert(Assigned(sg_httpauth_set_realm));
- Assert(Assigned(sg_httpauth_realm));
- Assert(Assigned(sg_httpauth_deny2));
- Assert(Assigned(sg_httpauth_deny));
- Assert(Assigned(sg_httpauth_cancel));
- Assert(Assigned(sg_httpauth_usr));
- Assert(Assigned(sg_httpauth_pwd));
- Assert(Assigned(sg_httpuplds_iter));
- Assert(Assigned(sg_httpuplds_next));
- Assert(Assigned(sg_httpuplds_count));
- Assert(Assigned(sg_httpupld_handle));
- Assert(Assigned(sg_httpupld_dir));
- Assert(Assigned(sg_httpupld_field));
- Assert(Assigned(sg_httpupld_name));
- Assert(Assigned(sg_httpupld_mime));
- Assert(Assigned(sg_httpupld_encoding));
- Assert(Assigned(sg_httpupld_size));
- Assert(Assigned(sg_httpupld_save));
- Assert(Assigned(sg_httpupld_save_as));
- Assert(Assigned(sg_httpreq_srv));
- Assert(Assigned(sg_httpreq_headers));
- Assert(Assigned(sg_httpreq_cookies));
- Assert(Assigned(sg_httpreq_params));
- Assert(Assigned(sg_httpreq_fields));
- Assert(Assigned(sg_httpreq_version));
- Assert(Assigned(sg_httpreq_method));
- Assert(Assigned(sg_httpreq_path));
- Assert(Assigned(sg_httpreq_payload));
- Assert(Assigned(sg_httpreq_is_uploading));
- Assert(Assigned(sg_httpreq_uploads));
- Assert(Assigned(sg_httpreq_client));
- {$IFDEF TLS_SUPPORT}
- Assert(Assigned(sg_httpreq_tls_session));
- {$ENDIF}
- Assert(Assigned(sg_httpreq_isolate));
- Assert(Assigned(sg_httpreq_set_user_data));
- Assert(Assigned(sg_httpreq_user_data));
- Assert(Assigned(sg_httpres_headers));
- Assert(Assigned(sg_httpres_set_cookie));
- Assert(Assigned(sg_httpres_sendbinary));
- Assert(Assigned(sg_httpres_sendfile2));
- Assert(Assigned(sg_httpres_sendfile));
- Assert(Assigned(sg_httpres_sendstream));
- Assert(Assigned(sg_httpres_zsendbinary2));
- Assert(Assigned(sg_httpres_zsendbinary));
- Assert(Assigned(sg_httpres_zsendstream2));
- Assert(Assigned(sg_httpres_zsendstream));
- Assert(Assigned(sg_httpres_zsendfile2));
- Assert(Assigned(sg_httpres_zsendfile));
- Assert(Assigned(sg_httpres_reset));
- Assert(Assigned(sg_httpres_clear));
- Assert(Assigned(sg_httpres_is_empty));
- Assert(Assigned(sg_httpsrv_new2));
- Assert(Assigned(sg_httpsrv_new));
- Assert(Assigned(sg_httpsrv_free));
- {$IFDEF TLS_SUPPORT}
- Assert(Assigned(sg_httpsrv_tls_listen3));
- Assert(Assigned(sg_httpsrv_tls_listen2));
- Assert(Assigned(sg_httpsrv_tls_listen));
- {$ENDIF}
- Assert(Assigned(sg_httpsrv_listen));
- Assert(Assigned(sg_httpsrv_shutdown));
- Assert(Assigned(sg_httpsrv_port));
- Assert(Assigned(sg_httpsrv_is_threaded));
- Assert(Assigned(sg_httpsrv_set_cli_cb));
- Assert(Assigned(sg_httpsrv_set_upld_cbs));
- Assert(Assigned(sg_httpsrv_set_upld_dir));
- Assert(Assigned(sg_httpsrv_upld_dir));
- Assert(Assigned(sg_httpsrv_set_post_buf_size));
- Assert(Assigned(sg_httpsrv_post_buf_size));
- Assert(Assigned(sg_httpsrv_set_payld_limit));
- Assert(Assigned(sg_httpsrv_payld_limit));
- Assert(Assigned(sg_httpsrv_set_uplds_limit));
- Assert(Assigned(sg_httpsrv_uplds_limit));
- Assert(Assigned(sg_httpsrv_set_thr_pool_size));
- Assert(Assigned(sg_httpsrv_thr_pool_size));
- Assert(Assigned(sg_httpsrv_set_con_timeout));
- Assert(Assigned(sg_httpsrv_con_timeout));
- Assert(Assigned(sg_httpsrv_set_con_limit));
- Assert(Assigned(sg_httpsrv_con_limit));
- Assert(Assigned(sg_httpsrv_handle));
- Assert(Assigned(sg_entrypoint_name));
- Assert(Assigned(sg_entrypoint_set_user_data));
- Assert(Assigned(sg_entrypoint_user_data));
- Assert(Assigned(sg_entrypoints_new));
- Assert(Assigned(sg_entrypoints_free));
- Assert(Assigned(sg_entrypoints_add));
- Assert(Assigned(sg_entrypoints_rm));
- Assert(Assigned(sg_entrypoints_iter));
- Assert(Assigned(sg_entrypoints_clear));
- Assert(Assigned(sg_entrypoints_find));
- Assert(Assigned(sg_route_handle));
- Assert(Assigned(sg_route_match));
- Assert(Assigned(sg_route_rawpattern));
- Assert(Assigned(sg_route_pattern));
- Assert(Assigned(sg_route_path));
- Assert(Assigned(sg_route_segments_iter));
- Assert(Assigned(sg_route_vars_iter));
- Assert(Assigned(sg_route_user_data));
- Assert(Assigned(sg_routes_add2));
- Assert(Assigned(sg_routes_add));
- Assert(Assigned(sg_routes_rm));
- Assert(Assigned(sg_routes_iter));
- Assert(Assigned(sg_routes_next));
- Assert(Assigned(sg_routes_count));
- Assert(Assigned(sg_routes_cleanup));
- Assert(Assigned(sg_router_new));
- Assert(Assigned(sg_router_free));
- Assert(Assigned(sg_router_dispatch2));
- Assert(Assigned(sg_router_dispatch));
- Assert(Assigned(sg_expr_new));
- Assert(Assigned(sg_expr_free));
- Assert(Assigned(sg_expr_compile));
- Assert(Assigned(sg_expr_clear));
- Assert(Assigned(sg_expr_eval));
- Assert(Assigned(sg_expr_var));
- Assert(Assigned(sg_expr_set_var));
- Assert(Assigned(sg_expr_arg));
- Assert(Assigned(sg_expr_near));
- Assert(Assigned(sg_expr_err));
- Assert(Assigned(sg_expr_strerror));
- Assert(Assigned(sg_expr_calc));
- end;
- begin
- {$IF (NOT DEFINED(FPC)) AND DEFINED(DEBUG)}
- ReportMemoryLeaksOnShutdown := True;
- {$ENDIF}
- Test_AddUnloadEvent;
- Test_RemoveNotifier;
- Test_GetLastName;
- Test_CheckVersion;
- Test_CheckLastError;
- Test_Load;
- Test_Unload;
- Test_IsLoaded;
- Test_Check;
- Test_Handle;
- Test_Binding;
- end.
|