github.com/kaptinlin/jsonschema@v0.4.6/testdata/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/time.json (about) 1 [ 2 { 3 "description": "validation of time strings", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "format": "time" 7 }, 8 "tests": [ 9 { 10 "description": "all string formats ignore integers", 11 "data": 12, 12 "valid": true 13 }, 14 { 15 "description": "all string formats ignore floats", 16 "data": 13.7, 17 "valid": true 18 }, 19 { 20 "description": "all string formats ignore objects", 21 "data": {}, 22 "valid": true 23 }, 24 { 25 "description": "all string formats ignore arrays", 26 "data": [], 27 "valid": true 28 }, 29 { 30 "description": "all string formats ignore booleans", 31 "data": false, 32 "valid": true 33 }, 34 { 35 "description": "all string formats ignore nulls", 36 "data": null, 37 "valid": true 38 }, 39 { 40 "description": "a valid time string", 41 "data": "08:30:06Z", 42 "valid": true 43 }, 44 { 45 "description": "invalid time string with extra leading zeros", 46 "data": "008:030:006Z", 47 "valid": false 48 }, 49 { 50 "description": "invalid time string with no leading zero for single digit", 51 "data": "8:3:6Z", 52 "valid": false 53 }, 54 { 55 "description": "hour, minute, second must be two digits", 56 "data": "8:0030:6Z", 57 "valid": false 58 }, 59 { 60 "description": "a valid time string with leap second, Zulu", 61 "data": "23:59:60Z", 62 "valid": true 63 }, 64 { 65 "description": "invalid leap second, Zulu (wrong hour)", 66 "data": "22:59:60Z", 67 "valid": false 68 }, 69 { 70 "description": "invalid leap second, Zulu (wrong minute)", 71 "data": "23:58:60Z", 72 "valid": false 73 }, 74 { 75 "description": "valid leap second, zero time-offset", 76 "data": "23:59:60+00:00", 77 "valid": true 78 }, 79 { 80 "description": "invalid leap second, zero time-offset (wrong hour)", 81 "data": "22:59:60+00:00", 82 "valid": false 83 }, 84 { 85 "description": "invalid leap second, zero time-offset (wrong minute)", 86 "data": "23:58:60+00:00", 87 "valid": false 88 }, 89 { 90 "description": "valid leap second, positive time-offset", 91 "data": "01:29:60+01:30", 92 "valid": true 93 }, 94 { 95 "description": "valid leap second, large positive time-offset", 96 "data": "23:29:60+23:30", 97 "valid": true 98 }, 99 { 100 "description": "invalid leap second, positive time-offset (wrong hour)", 101 "data": "23:59:60+01:00", 102 "valid": false 103 }, 104 { 105 "description": "invalid leap second, positive time-offset (wrong minute)", 106 "data": "23:59:60+00:30", 107 "valid": false 108 }, 109 { 110 "description": "valid leap second, negative time-offset", 111 "data": "15:59:60-08:00", 112 "valid": true 113 }, 114 { 115 "description": "valid leap second, large negative time-offset", 116 "data": "00:29:60-23:30", 117 "valid": true 118 }, 119 { 120 "description": "invalid leap second, negative time-offset (wrong hour)", 121 "data": "23:59:60-01:00", 122 "valid": false 123 }, 124 { 125 "description": "invalid leap second, negative time-offset (wrong minute)", 126 "data": "23:59:60-00:30", 127 "valid": false 128 }, 129 { 130 "description": "a valid time string with second fraction", 131 "data": "23:20:50.52Z", 132 "valid": true 133 }, 134 { 135 "description": "a valid time string with precise second fraction", 136 "data": "08:30:06.283185Z", 137 "valid": true 138 }, 139 { 140 "description": "a valid time string with plus offset", 141 "data": "08:30:06+00:20", 142 "valid": true 143 }, 144 { 145 "description": "a valid time string with minus offset", 146 "data": "08:30:06-08:00", 147 "valid": true 148 }, 149 { 150 "description": "hour, minute in time-offset must be two digits", 151 "data": "08:30:06-8:000", 152 "valid": false 153 }, 154 { 155 "description": "a valid time string with case-insensitive Z", 156 "data": "08:30:06z", 157 "valid": true 158 }, 159 { 160 "description": "an invalid time string with invalid hour", 161 "data": "24:00:00Z", 162 "valid": false 163 }, 164 { 165 "description": "an invalid time string with invalid minute", 166 "data": "00:60:00Z", 167 "valid": false 168 }, 169 { 170 "description": "an invalid time string with invalid second", 171 "data": "00:00:61Z", 172 "valid": false 173 }, 174 { 175 "description": "an invalid time string with invalid leap second (wrong hour)", 176 "data": "22:59:60Z", 177 "valid": false 178 }, 179 { 180 "description": "an invalid time string with invalid leap second (wrong minute)", 181 "data": "23:58:60Z", 182 "valid": false 183 }, 184 { 185 "description": "an invalid time string with invalid time numoffset hour", 186 "data": "01:02:03+24:00", 187 "valid": false 188 }, 189 { 190 "description": "an invalid time string with invalid time numoffset minute", 191 "data": "01:02:03+00:60", 192 "valid": false 193 }, 194 { 195 "description": "an invalid time string with invalid time with both Z and numoffset", 196 "data": "01:02:03Z+00:30", 197 "valid": false 198 }, 199 { 200 "description": "an invalid offset indicator", 201 "data": "08:30:06 PST", 202 "valid": false 203 }, 204 { 205 "description": "only RFC3339 not all of ISO 8601 are valid", 206 "data": "01:01:01,1111", 207 "valid": false 208 }, 209 { 210 "description": "no time offset", 211 "data": "12:00:00", 212 "valid": false 213 }, 214 { 215 "description": "no time offset with second fraction", 216 "data": "12:00:00.52", 217 "valid": false 218 }, 219 { 220 "description": "invalid non-ASCII '২' (a Bengali 2)", 221 "data": "1২:00:00Z", 222 "valid": false 223 }, 224 { 225 "description": "offset not starting with plus or minus", 226 "data": "08:30:06#00:20", 227 "valid": false 228 }, 229 { 230 "description": "contains letters", 231 "data": "ab:cd:ef", 232 "valid": false 233 } 234 ] 235 } 236 ]