vss_24.0.0_b4d0be7c/testsuite/text/hello_world_data.adb

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
--
--  Copyright (C) 2020, AdaCore
--
--  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
--

--  Data package for testing.

with Ada.Strings.UTF_Encoding;

with VSS.Strings.Conversions;

package body Hello_World_Data is

   use Ada.Strings.UTF_Encoding;

   Hello_Arabic  : aliased constant UTF_8_String := "ﻡﺮﺤﺑﺍ ﺎﻠﻋﺎﻠﻣ";
   Hello_Chinese : aliased constant UTF_8_String := "你好世界";
   Hello_English : aliased constant UTF_8_String := "Hello, world!";
   Hello_French  : aliased constant UTF_8_String := "Bonjour tout le monde";
   Hello_German  : aliased constant UTF_8_String := "Hallo Welt";
   Hello_Greek   : aliased constant UTF_8_String := "Γεια σας κόσμο";
   Hello_Hebrew  : aliased constant UTF_8_String := "שלום העולם";
   Hello_Japanse : aliased constant UTF_8_String := "こんにちは世界";
   Hello_Korean  : aliased constant UTF_8_String := "안녕하세요";
   Hello_Russian : aliased constant UTF_8_String := "Здравствуй, мир!";
   Hello_Thai    : aliased constant UTF_8_String := "สวัสดีชาวโลก";
   Hello_Turkish : aliased constant UTF_8_String := "merhaba dünya";

   Language_Arabic  : aliased constant UTF_8_String := "Arabic";
   Language_Chinese : aliased constant UTF_8_String := "Chinese";
   Language_English : aliased constant UTF_8_String := "English";
   Language_French  : aliased constant UTF_8_String := "French";
   Language_German  : aliased constant UTF_8_String := "German";
   Language_Greek   : aliased constant UTF_8_String := "Greek";
   Language_Hebrew  : aliased constant UTF_8_String := "Hebrew";
   Language_Japanse : aliased constant UTF_8_String := "Japanse";
   Language_Korean  : aliased constant UTF_8_String := "Korean";
   Language_Russian : aliased constant UTF_8_String := "Russian";
   Language_Thai    : aliased constant UTF_8_String := "Thai";
   Language_Turkish : aliased constant UTF_8_String := "Turkish";

   Languages : constant array (Language) of access constant UTF_8_String :=
     (Language_Arabic'Access,
      Language_Chinese'Access,
      Language_English'Access,
      Language_French'Access,
      Language_German'Access,
      Language_Greek'Access,
      Language_Hebrew'Access,
      Language_Japanse'Access,
      Language_Korean'Access,
      Language_Russian'Access,
      Language_Thai'Access,
      Language_Turkish'Access);
   Hellos : constant array (Language) of access constant UTF_8_String :=
     (Hello_Arabic'Access,
      Hello_Chinese'Access,
      Hello_English'Access,
      Hello_French'Access,
      Hello_German'Access,
      Hello_Greek'Access,
      Hello_Hebrew'Access,
      Hello_Japanse'Access,
      Hello_Korean'Access,
      Hello_Russian'Access,
      Hello_Thai'Access,
      Hello_Turkish'Access);

   -----------
   -- Hello --
   -----------

   function Hello (Self : Language) return String is
   begin
      return Hellos (Self).all;
   end Hello;

   -----------
   -- Hello --
   -----------

   function Hello (Self : Language) return VSS.Strings.Virtual_String is
   begin
      return VSS.Strings.Conversions.To_Virtual_String (Hellos (Self).all);
   end Hello;

   ----------
   -- Name --
   ----------

   function Name (Self : Language) return String is
   begin
      return Languages (Self).all;
   end Name;

   ----------
   -- Name --
   ----------

   function Name (Self : Language) return VSS.Strings.Virtual_String is
   begin
      return VSS.Strings.Conversions.To_Virtual_String (Languages (Self).all);
   end Name;

end Hello_World_Data;