aboutsummaryrefslogtreecommitdiffstats
path: root/Medley/test
diff options
context:
space:
mode:
authorbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-12-09 18:35:28 +0000
committerbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2009-12-09 18:35:28 +0000
commite4f413fdcf003ac0ad20d145f61dd370994e79db (patch)
tree692f725464654d0a82cdb0888c28e4dd21d68517 /Medley/test
parentd267ce95e1743fad0d383d1d7fe51e9b8bf5b66f (diff)
downloadusdx-e4f413fdcf003ac0ad20d145f61dd370994e79db.tar.gz
usdx-e4f413fdcf003ac0ad20d145f61dd370994e79db.tar.xz
usdx-e4f413fdcf003ac0ad20d145f61dd370994e79db.zip
just a first experimental version
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2011 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Medley/test')
-rw-r--r--Medley/test/switches.inc0
-rw-r--r--Medley/test/test001.pas86
-rw-r--r--Medley/test/test_libraries.lpi299
-rw-r--r--Medley/test/test_libraries.lpr31
-rw-r--r--Medley/test/testsqllite.pas84
5 files changed, 500 insertions, 0 deletions
diff --git a/Medley/test/switches.inc b/Medley/test/switches.inc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Medley/test/switches.inc
diff --git a/Medley/test/test001.pas b/Medley/test/test001.pas
new file mode 100644
index 00000000..c9ba266f
--- /dev/null
+++ b/Medley/test/test001.pas
@@ -0,0 +1,86 @@
+program test001;
+
+{
+This program tests the function glext_ExtensionSupported from unit glext.
+}
+
+uses
+ SysUtils,
+ SDL in '../src/lib/JEDI-SDL/SDL/Pas/sdl.pas',
+ moduleloader in '../src/lib/JEDI-SDL/SDL/Pas/moduleloader.pas',
+ gl in '../src/lib/JEDI-SDL/OpenGL/Pas/gl.pas',
+ glext in '../src/lib/JEDI-SDL/OpenGL/Pas/glext.pas';
+
+const
+ s1: pchar = '';
+ s2: pchar = 'ext';
+ s3: pchar = ' ext';
+ s4: pchar = ' ext ';
+ s5: pchar = 'kkshf kjsfh ext';
+ s6: pchar = 'fakh sajhf ext jskdhf';
+ s7: pchar = 'ext jshf';
+ s8: pchar = 'sdkjfh ksjhext sjdha';
+ s9: pchar = 'sdkjfh ksjh extsjdha';
+ s10: pchar = 'sdkjfh ksjhextsjdha';
+ s11: pchar = 'sd kjf jdha';
+
+ e1: pchar = '';
+ e2: pchar = 'ext';
+ e3: pchar = 'GL_ARB_window_pos';
+
+ SCREEN_WIDTH = 640;
+ SCREEN_HEIGHT = 480;
+ SCREEN_BPP = 16;
+
+var
+ surface: PSDL_Surface;
+ videoFlags: integer;
+ testFailed: boolean;
+
+procedure treatTestFailure(testNumber: integer, var testFailed: boolean);
+begin
+ writeln;
+ write ('test001, ', testNumber, ': failed');
+ testFailed := true;
+end;
+
+begin
+ write ('test001: Start ... ');
+ testFailed := false;
+
+// initialize SDL and OpenGL for the use of glGetString(GL_EXTENSIONS)
+// within glext_ExtensionSupported.
+
+ SDL_Init( SDL_INIT_VIDEO);
+
+// the flags to pass to SDL_SetVideoMode
+ videoFlags := SDL_OPENGL;
+
+// get a SDL surface
+ surface := SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, videoFlags);
+
+// Initialization finished
+
+ if glext_ExtensionSupported(e1, s1) then treatTestFailure( 1, testFailed);
+ if glext_ExtensionSupported(e1, s2) then treatTestFailure( 2, testFailed);
+ if glext_ExtensionSupported(e2, s1) then treatTestFailure( 3, testFailed);
+ if not glext_ExtensionSupported(e2, s2) then treatTestFailure( 4, testFailed);
+ if not glext_ExtensionSupported(e2, s3) then treatTestFailure( 5, testFailed);
+ if not glext_ExtensionSupported(e2, s4) then treatTestFailure( 6, testFailed);
+ if not glext_ExtensionSupported(e2, s5) then treatTestFailure( 7, testFailed);
+ if not glext_ExtensionSupported(e2, s6) then treatTestFailure( 8, testFailed);
+ if not glext_ExtensionSupported(e2, s7) then treatTestFailure( 9, testFailed);
+ if glext_ExtensionSupported(e2, s8) then treatTestFailure(10, testFailed);
+ if glext_ExtensionSupported(e2, s9) then treatTestFailure(11, testFailed);
+ if glext_ExtensionSupported(e2, s10) then treatTestFailure(12, testFailed);
+ if glext_ExtensionSupported(e2, s11) then treatTestFailure(13, testFailed);
+ if not glext_ExtensionSupported(e3, s1) then treatTestFailure(14, testFailed);
+
+ if testFailed then
+ begin
+ writeln;
+ writeln ('test001: End');
+ end
+ else
+ writeln ('End');
+end. \ No newline at end of file
diff --git a/Medley/test/test_libraries.lpi b/Medley/test/test_libraries.lpi
new file mode 100644
index 00000000..cc3a6ddf
--- /dev/null
+++ b/Medley/test/test_libraries.lpi
@@ -0,0 +1,299 @@
+<?xml version="1.0"?>
+<CONFIG>
+ <ProjectOptions>
+ <PathDelim Value="/"/>
+ <Version Value="6"/>
+ <General>
+ <MainUnit Value="0"/>
+ <TargetFileExt Value=""/>
+ <ActiveEditorIndexAtStart Value="0"/>
+ </General>
+ <VersionInfo>
+ <ProjectVersion Value=""/>
+ <Language Value=""/>
+ <CharSet Value=""/>
+ </VersionInfo>
+ <PublishOptions>
+ <Version Value="2"/>
+ <IgnoreBinaries Value="False"/>
+ <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
+ <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
+ </PublishOptions>
+ <RunParams>
+ <local>
+ <FormatVersion Value="1"/>
+ <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+ </local>
+ </RunParams>
+ <RequiredPackages Count="2">
+ <Item1>
+ <PackageName Value="FPCUnitConsoleRunner"/>
+ </Item1>
+ <Item2>
+ <PackageName Value="FCL"/>
+ </Item2>
+ </RequiredPackages>
+ <Units Count="3">
+ <Unit0>
+ <Filename Value="test_libraries.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="Test_Libraries"/>
+ <CursorPos X="77" Y="17"/>
+ <TopLine Value="1"/>
+ <EditorIndex Value="1"/>
+ <UsageCount Value="20"/>
+ <Loaded Value="True"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="testsqllite.pas"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="TestSQLLite"/>
+ <CursorPos X="23" Y="57"/>
+ <TopLine Value="39"/>
+ <EditorIndex Value="0"/>
+ <UsageCount Value="20"/>
+ <Loaded Value="True"/>
+ </Unit1>
+ <Unit2>
+ <Filename Value="../lib/SQLite/SQLiteTable3.pas"/>
+ <UnitName Value="SQLiteTable3"/>
+ <CursorPos X="37" Y="29"/>
+ <TopLine Value="11"/>
+ <EditorIndex Value="2"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
+ </Unit2>
+ </Units>
+ <JumpHistory Count="11" HistoryIndex="10">
+ <Position1>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="8" Column="68" TopLine="1"/>
+ </Position1>
+ <Position2>
+ <Filename Value="../lib/SQLite/SQLiteTable3.pas"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
+ </Position2>
+ <Position3>
+ <Filename Value="../lib/SQLite/SQLiteTable3.pas"/>
+ <Caret Line="37" Column="64" TopLine="14"/>
+ </Position3>
+ <Position4>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="26" Column="34" TopLine="1"/>
+ </Position4>
+ <Position5>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="13" Column="10" TopLine="1"/>
+ </Position5>
+ <Position6>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="20" Column="29" TopLine="4"/>
+ </Position6>
+ <Position7>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="28" Column="22" TopLine="5"/>
+ </Position7>
+ <Position8>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="33" Column="42" TopLine="5"/>
+ </Position8>
+ <Position9>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="21" Column="15" TopLine="5"/>
+ </Position9>
+ <Position10>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="20" Column="38" TopLine="5"/>
+ </Position10>
+ <Position11>
+ <Filename Value="testsqllite.pas"/>
+ <Caret Line="61" Column="47" TopLine="39"/>
+ </Position11>
+ </JumpHistory>
+ </ProjectOptions>
+ <CompilerOptions>
+ <Version Value="5"/>
+ <CodeGeneration>
+ <Generate Value="Faster"/>
+ </CodeGeneration>
+ <Other>
+ <CompilerPath Value="$(CompPath)"/>
+ </Other>
+ </CompilerOptions>
+ <Debugging>
+ <BreakPoints Count="37">
+ <Item1>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="370"/>
+ </Item1>
+ <Item2>
+ <Source Value="../../../../../project_mutliloader/uploader_infomine.pas"/>
+ <Line Value="1"/>
+ </Item2>
+ <Item3>
+ <Source Value="../../../../../project_mutliloader/uploader_seek_publicweb.pas"/>
+ <Line Value="515"/>
+ </Item3>
+ <Item4>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="803"/>
+ </Item4>
+ <Item5>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="822"/>
+ </Item5>
+ <Item6>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="824"/>
+ </Item6>
+ <Item7>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="1492"/>
+ </Item7>
+ <Item8>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="1536"/>
+ </Item8>
+ <Item9>
+ <Source Value="../../../../../Common/aSpell/spellcheck_controlls.pas"/>
+ <Line Value="425"/>
+ </Item9>
+ <Item10>
+ <Source Value="../../../../../Common/aSpell/spellcheck_controlls.pas"/>
+ <Line Value="455"/>
+ </Item10>
+ <Item11>
+ <Source Value="../../../../../Common/aSpell/spellcheck_controlls.pas"/>
+ <Line Value="574"/>
+ </Item11>
+ <Item12>
+ <Source Value="../../../../../Common/aSpell/spellcheck_controlls.pas"/>
+ <Line Value="602"/>
+ </Item12>
+ <Item13>
+ <Source Value="../../../../../project_mutliloader/fmmultiloaderform.pas"/>
+ <Line Value="1621"/>
+ </Item13>
+ <Item15>
+ <Source Value="../../../../../project_SkyeDB/fmclient.pas"/>
+ <Line Value="986"/>
+ </Item15>
+ <Item16>
+ <Source Value="../../../../../project_SkyeDB/fmclient.pas"/>
+ <Line Value="2065"/>
+ </Item16>
+ <Item17>
+ <Source Value="../../../../../project_SkyeDB/fmclient.pas"/>
+ <Line Value="1541"/>
+ </Item17>
+ <Item18>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="741"/>
+ </Item18>
+ <Item19>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="1633"/>
+ </Item19>
+ <Item20>
+ <Source Value="../../../../../project_SkyeDB/fmclient.pas"/>
+ <Line Value="3554"/>
+ </Item20>
+ <Item21>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="5037"/>
+ </Item21>
+ <Item22>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="2994"/>
+ </Item22>
+ <Item23>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="564"/>
+ </Item23>
+ <Item24>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="549"/>
+ </Item24>
+ <Item25>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="438"/>
+ </Item25>
+ <Item26>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="436"/>
+ </Item26>
+ <Item27>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="5648"/>
+ </Item27>
+ <Item28>
+ <Source Value="../../../../../project_SkyeDB/fmcandidate.pas"/>
+ <Line Value="636"/>
+ </Item28>
+ <Item29>
+ <Source Value="../../../../../common/common/ConvertUnicode.pas"/>
+ <Line Value="83"/>
+ </Item29>
+ <Item30>
+ <Source Value="/usr/share/lazarus/components/uniqueinstance/uniqueinstance.pas"/>
+ <Line Value="124"/>
+ </Item30>
+ <Item31>
+ <Source Value="/usr/share/lazarus/components/uniqueinstance/uniqueinstance.pas"/>
+ <Line Value="112"/>
+ </Item31>
+ <Item32>
+ <Source Value="/usr/share/lazarus/components/uniqueinstance/uniqueinstance.pas"/>
+ <Line Value="174"/>
+ </Item32>
+ <Item33>
+ <Source Value="/usr/share/lazarus/components/uniqueinstance/uniqueinstance.pas"/>
+ <Line Value="199"/>
+ </Item33>
+ <Item34>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="800"/>
+ </Item34>
+ <Item35>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="798"/>
+ </Item35>
+ <Item36>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="778"/>
+ </Item36>
+ <Item37>
+ <Source Value="../../../../../common/asterisk/comManagerMessage.pas"/>
+ <Line Value="522"/>
+ </Item37>
+ </BreakPoints>
+ <Watches Count="6">
+ <Item1>
+ <Expression Value="edSearchSummry.text"/>
+ </Item1>
+ <Item2>
+ <Expression Value=" trim(edSearhSummary.text) "/>
+ </Item2>
+ <Item3>
+ <Expression Value="lData"/>
+ </Item3>
+ <Item4>
+ <Expression Value="ord(a)"/>
+ </Item4>
+ <Item5>
+ <Expression Value="lHTTP.headers.text"/>
+ </Item5>
+ <Item6>
+ <Expression Value="lSummaryContactName"/>
+ </Item6>
+ </Watches>
+ <Exceptions Count="2">
+ <Item1>
+ <Name Value="ECodetoolError"/>
+ </Item1>
+ <Item2>
+ <Name Value="EFOpenError"/>
+ </Item2>
+ </Exceptions>
+ </Debugging>
+</CONFIG>
diff --git a/Medley/test/test_libraries.lpr b/Medley/test/test_libraries.lpr
new file mode 100644
index 00000000..3e3ae380
--- /dev/null
+++ b/Medley/test/test_libraries.lpr
@@ -0,0 +1,31 @@
+program Test_Libraries;
+
+{$mode objfpc}{$H+}
+
+uses
+ Classes,
+ consoletestrunner,
+ TestSQLLite,
+ SQLite3 in '../lib/SQLite/SQLite3.pas',
+
+ SQLiteTable3 in '../lib/SQLite/SQLiteTable3.pas';
+
+type
+
+ { TLazTestRunner }
+
+ TMyTestRunner = class(TTestRunner)
+ protected
+ // override the protected methods of TTestRunner to customize its behavior
+ end;
+
+var
+ Application: TMyTestRunner;
+
+begin
+ Application := TMyTestRunner.Create(nil);
+ Application.Initialize;
+ Application.Title := 'FPCUnit Console test runner';
+ Application.Run;
+ Application.Free;
+end.
diff --git a/Medley/test/testsqllite.pas b/Medley/test/testsqllite.pas
new file mode 100644
index 00000000..b1b682d2
--- /dev/null
+++ b/Medley/test/testsqllite.pas
@@ -0,0 +1,84 @@
+unit TestSQLLite;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, fpcunit, testutils, testregistry, SQLiteTable3, unix;
+
+type
+
+ TTest_SqlLite= class(TTestCase)
+ private
+ fSQLLite : TSQLiteDatabase;
+ fFileName : string;
+ protected
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure Test_Random_TableExists;
+ procedure Test_Delete_NonExistant_Table;
+ procedure Test_TableExists_On_0Length_File;
+ end;
+
+implementation
+
+procedure TTest_SqlLite.Test_Random_TableExists;
+begin
+ deletefile( fFileName );
+ fSQLLite := TSQLiteDatabase.Create( fFileName );
+
+ // Test if some random table exists
+ check( not fSQLLite.TableExists( 'testTable'+floattostr(now()) ) , 'Randomly Named Table Should NOT Exists (In an empty database file)' );
+end;
+
+procedure TTest_SqlLite.Test_Delete_NonExistant_Table;
+var
+ lSQL : String;
+begin
+ deletefile( fFileName );
+ fSQLLite := TSQLiteDatabase.Create( fFileName );
+ try
+ lSQL := 'DROP TABLE testtable';
+ fSQLLite.execsql( lSQL );
+ except
+ exit;
+ end;
+
+ Fail('SQLLite did not except when trying to delete a non existant table' );
+end;
+
+procedure TTest_SqlLite.Test_TableExists_On_0Length_File;
+var
+ lSQL : String;
+begin
+ deletefile( fFileName );
+ shell('cat /dev/null > '+fFileName);
+
+ if not fileexists( fFileName ) then
+ Fail('0 Length file was not created... oops' );
+
+ fSQLLite := TSQLiteDatabase.Create( fFileName );
+
+ check( not fSQLLite.TableExists( 'testTable' ) , 'Randomly Named Table Should NOT Exists' );
+end;
+
+
+procedure TTest_SqlLite.SetUp;
+begin
+ fFileName := 'test.db';
+// fSQLLite := TSQLiteDatabase.Create( fFileName );
+end;
+
+
+procedure TTest_SqlLite.TearDown;
+begin
+ freeandnil( fSQLLite );
+end;
+
+initialization
+
+ RegisterTest(TTest_SqlLite);
+end.
+