Files
xmlada/tests/dom/conformance/driver.adb
Emmanuel Briot 63b47c6599 Reorganize testsuites
Move all the */test/ directories to tests/*
Move all tests that potentially contain customer code or data to tests/adacore
 These will be moved to a separate git repository

Part of O527-038

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/xmlada@240170 936e1b1b-40f2-da11-902a-00137254ae57
2015-07-09 15:17:03 +02:00

158 lines
3.9 KiB
Ada

with Ada.Characters.Handling; use Ada.Characters.Handling;
with Ada.Command_Line; use Ada.Command_Line;
with Ada.Text_IO; use Ada.Text_IO;
with DOM.Core.Nodes; use DOM.Core.Nodes;
with GNAT.OS_Lib; use GNAT.OS_Lib;
package body Driver is
function Special_Chars (Str : String) return String;
-- Return Str, where special characters have been replaced for suitable
-- comparison
-------------------
-- Special_Chars --
-------------------
function Special_Chars (Str : String) return String is
Result : Unbounded_String;
begin
for S in Str'Range loop
if Str (S) = ASCII.LF then
Append (Result, "\n");
else
Append (Result, Str (S));
end if;
end loop;
return To_String (Result);
end Special_Chars;
-------------------
-- Assert_Equals --
-------------------
procedure Assert_Equals
(Expected : DOM_String;
Actual : DOM_String;
Ignore_Case : Boolean;
File : String;
Id : String)
is
Result : Boolean;
begin
if Ignore_Case then
Result := Special_Chars (To_Lower (Expected)) =
Special_Chars (To_Lower (Actual));
else
Result := Special_Chars (Expected) = Special_Chars (Actual);
end if;
if not Result then
Put_Line ("Test failed: " & Id & " (in " & File & ")");
Put_Line (" Expected=" & Expected);
Put_Line (" Actual =" & Actual);
OS_Exit (1);
end if;
end Assert_Equals;
-------------------
-- Assert_Equals --
-------------------
procedure Assert_Equals
(Expected : DOM_String;
Actual : Unbounded_String;
Ignore_Case : Boolean;
File : String;
Id : String)
is
begin
Assert_Equals (Expected, To_String (Actual), Ignore_Case, File, Id);
end Assert_Equals;
-----------------
-- Assert_Null --
-----------------
procedure Assert_Null
(Actual : Node;
File : String;
Id : String)
is
begin
if Actual /= null then
Put_Line ("Test failed " & Id & " (in " & File & ")");
Put_Line (" Expected null node");
OS_Exit (1);
end if;
end Assert_Null;
---------------------
-- Assert_Not_Null --
---------------------
procedure Assert_Not_Null
(Actual : Node;
File : String;
Id : String)
is
begin
if Actual = null then
Put_Line ("Test failed " & Id & " (in " & File & ")");
Put_Line (" Expected not null node");
OS_Exit (1);
end if;
end Assert_Not_Null;
---------------------
-- Assert_Not_Null --
---------------------
procedure Assert_Not_Null
(Actual : Named_Node_Map;
File : String;
Id : String)
is
begin
if Length (Actual) = 0 then
Put_Line ("Test failed " & Id & " (in " & File & ")");
Put_Line (" Expected non-empty node map");
OS_Exit (1);
end if;
end Assert_Not_Null;
-----------------
-- Assert_True --
-----------------
procedure Assert_True
(Actual : Boolean;
File : String;
Id : String)
is
begin
if not Actual then
Put_Line ("Test failed " & Id & " (in " & File & ")");
Put_Line (" Expected True, got " & Boolean'Image (Actual));
OS_Exit (1);
end if;
end Assert_True;
------------------
-- Assert_False --
------------------
procedure Assert_False
(Actual : Boolean;
File : String;
Id : String)
is
begin
if Actual then
Put_Line ("Test failed " & Id & " (in " & File & ")");
Put_Line (" Expected False, got " & Boolean'Image (Actual));
OS_Exit (1);
end if;
end Assert_False;
end Driver;