From e4f413fdcf003ac0ad20d145f61dd370994e79db Mon Sep 17 00:00:00 2001
From: brunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>
Date: Wed, 9 Dec 2009 18:35:28 +0000
Subject: just a first experimental version

git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2011 b956fd51-792f-4845-bead-9b4dfca2ff2c
---
 Medley/test/switches.inc       |   0
 Medley/test/test001.pas        |  86 ++++++++++++
 Medley/test/test_libraries.lpi | 299 +++++++++++++++++++++++++++++++++++++++++
 Medley/test/test_libraries.lpr |  31 +++++
 Medley/test/testsqllite.pas    |  84 ++++++++++++
 5 files changed, 500 insertions(+)
 create mode 100644 Medley/test/switches.inc
 create mode 100644 Medley/test/test001.pas
 create mode 100644 Medley/test/test_libraries.lpi
 create mode 100644 Medley/test/test_libraries.lpr
 create mode 100644 Medley/test/testsqllite.pas

(limited to 'Medley/test')

diff --git a/Medley/test/switches.inc b/Medley/test/switches.inc
new file mode 100644
index 00000000..e69de29b
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.
+
-- 
cgit v1.2.3