-- { dg-do run } with Ada.Text_IO; use Ada.Text_IO; with Encode_String1_Pkg; with GNAT.Encode_String; with System.WCh_Con; use System.WCh_Con; procedure Encode_String1 is High_WS : constant Wide_String (1000 .. 1009) := (others => '1'); High_WWS : constant Wide_Wide_String (1000 .. 1009) := (others => '2'); Low_WS : constant Wide_String (3 .. 12) := (others => '3'); Low_WWS : constant Wide_Wide_String (3 .. 12) := (others => '4'); procedure Test_Method (Method : WC_Encoding_Method); -- Test Wide_String and Wide_Wide_String encodings using method Method to -- encode them. ----------------- -- Test_Method -- ----------------- procedure Test_Method (Method : WC_Encoding_Method) is package Encoder is new GNAT.Encode_String (Method); procedure WS_Tester is new Encode_String1_Pkg (C => Wide_Character, S => Wide_String, Encode => Encoder.Encode_Wide_String); procedure WWS_Tester is new Encode_String1_Pkg (C => Wide_Wide_Character, S => Wide_Wide_String, Encode => Encoder.Encode_Wide_Wide_String); begin WS_Tester (High_WS); WS_Tester (Low_WS); WWS_Tester (High_WWS); WWS_Tester (Low_WWS); end Test_Method; -- Start of processing for Main begin for Method in WC_Encoding_Method'Range loop Test_Method (Method); end loop; end;