blob: 27b5b9e71586a3c75ac296d77cb5fd8f7671e204 [file] [log] [blame]
Garret Riegera5701422018-02-26 15:20:23 -08001/*
2 * Copyright © 2018 Google, Inc.
3 *
4 * This is part of HarfBuzz, a text shaping library.
5 *
6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software.
11 *
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 * DAMAGE.
17 *
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 *
24 * Google Author(s): Garret Rieger
25 */
26
Behdad Esfahbod865deeb2018-12-21 17:35:58 -050027#include "hb.hh"
Garret Rieger40145552018-02-26 15:50:13 -080028#include "hb-ot-os2-unicode-ranges.hh"
Garret Riegera5701422018-02-26 15:20:23 -080029
Ebrahim Byagowi6353cc12018-10-02 21:39:19 +033030static void
Behdad Esfahbodc6150332018-03-07 09:27:16 +010031test (hb_codepoint_t cp, unsigned int bit)
Garret Riegera5701422018-02-26 15:20:23 -080032{
Behdad Esfahbod674560c2018-10-03 19:10:28 +020033 if (OT::_hb_ot_os2_get_unicode_range_bit (cp) != bit)
Garret Riegera5701422018-02-26 15:20:23 -080034 {
Behdad Esfahboded023f62023-01-12 17:04:24 -070035 fprintf (stderr, "got incorrect bit (%u) for cp 0x%X. Should have been %u.",
Ebrahim Byagowia0b4ac42019-08-24 17:57:14 +043036 OT::_hb_ot_os2_get_unicode_range_bit (cp),
37 cp,
38 bit);
Garret Riegera5701422018-02-26 15:20:23 -080039 abort();
40 }
41}
42
Ebrahim Byagowi6353cc12018-10-02 21:39:19 +033043static void
Ebrahim Byagowie4120082018-12-17 21:31:01 +033044test_get_unicode_range_bit ()
Garret Riegera5701422018-02-26 15:20:23 -080045{
46 test (0x0000, 0);
47 test (0x0042, 0);
48 test (0x007F, 0);
49 test (0x0080, 1);
50
51 test (0x30A0, 50);
52 test (0x30B1, 50);
53 test (0x30FF, 50);
54
55 test (0x10FFFD, 90);
56
57 test (0x30000, -1);
58 test (0x110000, -1);
59}
60
61int
Ebrahim Byagowie4120082018-12-17 21:31:01 +033062main ()
Garret Riegera5701422018-02-26 15:20:23 -080063{
64 test_get_unicode_range_bit ();
65 return 0;
66}