Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 14:43:25 GMT
  2. Package com.stevesoft.pat

File oneChar.java

 

Coverage histogram

../../../img/srcFileCovDistChart8.png
20% of files have more coverage

Code metrics

6
23
6
1
76
59
14
0.61
3.83
6
2.33

Classes

Class Line # Actions
oneChar 13 23 14
0.880%
 

Contributing tests

This file is covered by 100 tests. .

Source view

1    //
2    // This software is now distributed according to
3    // the Lesser Gnu Public License. Please see
4    // http://www.gnu.org/copyleft/lesser.txt for
5    // the details.
6    // -- Happy Computing!
7    //
8    package com.stevesoft.pat;
9   
10    import java.util.Hashtable;
11   
12    /** This class matches a single character. */
 
13    class oneChar extends Pattern
14    {
15    char c, altc, altc2;
16   
17    int mask;
18   
 
19  31438 toggle public oneChar(char ci)
20    {
21  31438 c = ci;
22  31438 char cu, cl, ct;
23  31438 cu = CaseMgr.toUpperCase(c);
24  31438 cl = CaseMgr.toLowerCase(c);
25  31438 ct = CaseMgr.toTitleCase(c);
26  31438 if (c == cu)
27    {
28  26398 altc = cl;
29  26398 altc2 = ct;
30    }
31  5040 else if (c == cl)
32    {
33  5040 altc = cu;
34  5040 altc2 = ct;
35    }
36    else
37    {
38  0 altc = cl;
39  0 altc2 = cu;
40    }
41  31438 mask = c & altc & altc2;
42    }
43   
 
44  317480 toggle public int matchInternal(int pos, Pthings pt)
45    {
46  317480 char p;
47  317480 int ret = -1;
48  ? if (pos < pt.src.length() && !Masked(pos, pt)
49    && ((p = pt.src.charAt(pos)) == c
50    || (pt.ignoreCase && (p == altc || p == altc2))))
51    {
52  4181 ret = nextMatch(pos + 1, pt);
53    }
54  317480 return ret;
55    }
56   
 
57  0 toggle public String toString()
58    {
59  0 return protect("" + c, PROTECT_THESE, ESC) + nextString();
60    }
61   
 
62  139 toggle public patInt minChars()
63    {
64  139 return new patInt(1);
65    }
66   
 
67  68 toggle public patInt maxChars()
68    {
69  68 return new patInt(1);
70    }
71   
 
72  2640 toggle Pattern clone1(Hashtable h)
73    {
74  2640 return new oneChar(c);
75    }
76    };