Browse Source

Fix test to succeed for big endian mips

Pierre Muller 2 years ago
parent
commit
0f30af07e5
1 changed files with 27 additions and 8 deletions
  1. 27 8
      tests/test/tcustomvar1.pp

+ 27 - 8
tests/test/tcustomvar1.pp

@@ -78,15 +78,22 @@ begin
           TVarData(v).VType := varUString;
           TVarData(v).VType := varUString;
           UnicodeString(TVarData(v).VUString) := StrPas(PPWideChar(arg)^);
           UnicodeString(TVarData(v).VUString) := StrPas(PPWideChar(arg)^);
         end;
         end;
-        varSingle,
-        varSmallint,
-        varInteger,
-        varLongWord,
-        varBoolean,
-        varShortInt,
-        varByte,
+        varSingle:
+          TVarData(v).VSingle := PLongint(arg)^;
+        varSmallint:
+          TVarData(v).VSmallInt := PLongint(arg)^;
+        varInteger:
+          TVarData(v).VInteger := PLongint(arg)^;
+        varLongWord:
+          TVarData(v).VLongWord := PLongint(arg)^;
+        varBoolean:
+          TVarData(v).VBoolean := Boolean(PLongint(arg)^);
+        varShortInt:
+          TVarData(v).VShortInt := PLongint(arg)^;
+        varByte:
+          TVarData(v).VByte := PLongint(arg)^;
         varWord:
         varWord:
-          TVarData(v).VInteger := PInteger(arg)^;
+          TVarData(v).VWord := PLongint(arg)^;
         else
         else
           TVarData(v).VAny := PPointer(arg)^;
           TVarData(v).VAny := PPointer(arg)^;
       end;
       end;
@@ -161,6 +168,18 @@ begin
   argtypes[0] := ConvertArgType(TVarData(argvalues[0]).VType);
   argtypes[0] := ConvertArgType(TVarData(argvalues[0]).VType);
   v.&Begin(Date:=42,Foobar:='Hello');
   v.&Begin(Date:=42,Foobar:='Hello');
 
 
+  argvalues[1] := 3542;
+  argvalues[0] := UnicodeString('Hello');
+  argtypes[1] := ConvertArgType(TVarData(argvalues[1]).VType);
+  argtypes[0] := ConvertArgType(TVarData(argvalues[0]).VType);
+  v.&Begin(Date:=3542,Foobar:='Hello');
+
+  argvalues[1] := 1233542;
+  argvalues[0] := UnicodeString('Hello');
+  argtypes[1] := ConvertArgType(TVarData(argvalues[1]).VType);
+  argtypes[0] := ConvertArgType(TVarData(argvalues[0]).VType);
+  v.&Begin(Date:=1233542,Foobar:='Hello');
+
   funcname := '_';
   funcname := '_';
   SetLength(argnames, 0);
   SetLength(argnames, 0);
   v._;
   v._;