File: ValidateKeyboardHandling.java

package info (click to toggle)
java-gnome 4.1.3-10
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 9,840 kB
  • sloc: java: 27,002; ansic: 4,517; perl: 1,651; python: 1,187; makefile: 136
file content (89 lines) | stat: -rw-r--r-- 3,110 bytes parent folder | download | duplicates (5)
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
/*
 * java-gnome, a UI library for writing GTK and GNOME programs from Java!
 *
 * Copyright © 2007-2010 Operational Dynamics Consulting, Pty Ltd
 *
 * The code in this file, and the program it is a part of, is made available
 * to you by its authors as open source software: you can redistribute it
 * and/or modify it under the terms of the GNU General Public License version
 * 2 ("GPL") as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GPL for more details.
 *
 * You should have received a copy of the GPL along with this program. If not,
 * see http://www.gnu.org/licenses/. The authors of this program may be
 * contacted through http://java-gnome.sourceforge.net/.
 */
package org.gnome.gdk;

import org.gnome.gtk.GraphicalTestCase;

/**
 * @author Andrew Cowie
 */
public class ValidateKeyboardHandling extends GraphicalTestCase
{
    public final void testTheLetterA() {
        assertNotNull(Keyval.a);
        assertEquals(0x61, GdkKeyvalOverride.numOf(Keyval.a));
    }

    public final void testTheUnicodeOfA() {
        assertEquals('a', Keyval.a.toUnicode());
        assertEquals(0, Keyval.ControlRight.toUnicode());
    }

    public final void testSubclassInstantiateByName() {
        final Keyval i;
        /*
         * This is a guess of a symbol that will NEVER be exposed in
         * java-gnome :)
         */
        i = new Keyval("ISO_Level3_Latch");
        assertEquals(0xFE04, GdkKeyvalOverride.numOf(i));
    }

    /**
     * Beware that if you output this string to terminal, you'll only get
     * "Hello". That was unexpected, hence this test, which shows that the
     * data after \0 isn't lost (it would be in C), but \0 will screw up your
     * output.
     */
    public final void testNullInString() {
        final StringBuilder terminated;

        terminated = new StringBuilder();

        terminated.append("Hello");
        terminated.append((char) 0);
        terminated.append("World");

        assertEquals("Hello\0World", terminated.toString());
        assertEquals(11, terminated.length());
    }

    public final void testMaskingModifierType() {
        ModifierType one, two, three, four, five;

        one = ModifierType.CONTROL_MASK;
        two = ModifierType.or(one, ModifierType.ALT_MASK);

        assertTrue(two.contains(ModifierType.CONTROL_MASK));
        assertTrue(two.contains(ModifierType.ALT_MASK));

        three = ModifierType.mask(two, ModifierType.CONTROL_MASK);

        assertFalse(three.contains(ModifierType.CONTROL_MASK));
        assertTrue(three.contains(ModifierType.ALT_MASK));
        assertTrue(three == ModifierType.ALT_MASK);

        four = ModifierType.mask(three, ModifierType.ALT_MASK);
        assertFalse(four.contains(ModifierType.ALT_MASK));
        assertTrue(four == ModifierType.NONE);

        five = ModifierType.mask(four, ModifierType.ALT_MASK);
        assertTrue(five == ModifierType.NONE);
    }
}