File: GSCellFlags.m

package info (click to toggle)
gnustep-gui 0.32.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,348 kB
  • sloc: objc: 178,763; ansic: 24,089; cpp: 664; yacc: 464; sh: 90; makefile: 72
file content (45 lines) | stat: -rw-r--r-- 1,417 bytes parent folder | download | duplicates (2)
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
#include "Testing.h"

#include <Foundation/NSAutoreleasePool.h>
#include <Foundation/NSValue.h>

#include "GSCodingFlags.h"

int main()
{
    CREATE_AUTORELEASE_POOL(arp);
    GSCellFlagsUnion mask = { { 0 } };

    START_SET("GSCodingFlags GNUstep CellFlags Union")
    
    // first make sure flags translate to values
    mask.flags.state = 1;
    mask.flags.selectable = 1;
    mask.flags.scrollable = 1;
    mask.flags.editable = 1;
    mask.flags.continuous = 1;
    mask.flags.useUserKeyEquivalent = 1;
    mask.flags.truncateLastLine = 1;

    pass(mask.value == 0b10010000001110000000000001001000, "mask.flags translates to mask.value");

    // reset mask
    mask.value = 0;
    mask.flags = (GSCellFlags){0};

    // now make sure values translate to flags
    mask.value = 0b10010000001110000000000001001000;

    pass(mask.flags.state == 1, "state is correctly set");
    pass(mask.flags.selectable == 1, "selectable is correctly set");
    pass(mask.flags.scrollable == 1, "scrollable is correctly set");
    pass(mask.flags.editable == 1, "editable is correctly set");
    pass(mask.flags.continuous == 1, "continuous is correctly set");
    pass(mask.flags.useUserKeyEquivalent == 1, "useUserKeyEquivalent is correctly set");
    pass(mask.flags.truncateLastLine == 1, "truncateLastLine is correctly set");
    
    END_SET("GSCodingFlags GNUstep CellFlags Union")

    DESTROY(arp);
    return 0;
}