cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2020-12/optional/format/time.json (about)

     1  [
     2  	{
     3  		"description": "validation of time strings",
     4  		"schema": {
     5  			"$schema": "https://json-schema.org/draft/2020-12/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  				"skip": {
    49  					"v2": "unexpected success",
    50  					"v3": "unexpected success"
    51  				}
    52  			},
    53  			{
    54  				"description": "invalid time string with no leading zero for single digit",
    55  				"data": "8:3:6Z",
    56  				"valid": false,
    57  				"skip": {
    58  					"v2": "unexpected success",
    59  					"v3": "unexpected success"
    60  				}
    61  			},
    62  			{
    63  				"description": "hour, minute, second must be two digits",
    64  				"data": "8:0030:6Z",
    65  				"valid": false,
    66  				"skip": {
    67  					"v2": "unexpected success",
    68  					"v3": "unexpected success"
    69  				}
    70  			},
    71  			{
    72  				"description": "a valid time string with leap second, Zulu",
    73  				"data": "23:59:60Z",
    74  				"valid": true
    75  			},
    76  			{
    77  				"description": "invalid leap second, Zulu (wrong hour)",
    78  				"data": "22:59:60Z",
    79  				"valid": false,
    80  				"skip": {
    81  					"v2": "unexpected success",
    82  					"v3": "unexpected success"
    83  				}
    84  			},
    85  			{
    86  				"description": "invalid leap second, Zulu (wrong minute)",
    87  				"data": "23:58:60Z",
    88  				"valid": false,
    89  				"skip": {
    90  					"v2": "unexpected success",
    91  					"v3": "unexpected success"
    92  				}
    93  			},
    94  			{
    95  				"description": "valid leap second, zero time-offset",
    96  				"data": "23:59:60+00:00",
    97  				"valid": true
    98  			},
    99  			{
   100  				"description": "invalid leap second, zero time-offset (wrong hour)",
   101  				"data": "22:59:60+00:00",
   102  				"valid": false,
   103  				"skip": {
   104  					"v2": "unexpected success",
   105  					"v3": "unexpected success"
   106  				}
   107  			},
   108  			{
   109  				"description": "invalid leap second, zero time-offset (wrong minute)",
   110  				"data": "23:58:60+00:00",
   111  				"valid": false,
   112  				"skip": {
   113  					"v2": "unexpected success",
   114  					"v3": "unexpected success"
   115  				}
   116  			},
   117  			{
   118  				"description": "valid leap second, positive time-offset",
   119  				"data": "01:29:60+01:30",
   120  				"valid": true
   121  			},
   122  			{
   123  				"description": "valid leap second, large positive time-offset",
   124  				"data": "23:29:60+23:30",
   125  				"valid": true
   126  			},
   127  			{
   128  				"description": "invalid leap second, positive time-offset (wrong hour)",
   129  				"data": "23:59:60+01:00",
   130  				"valid": false,
   131  				"skip": {
   132  					"v2": "unexpected success",
   133  					"v3": "unexpected success"
   134  				}
   135  			},
   136  			{
   137  				"description": "invalid leap second, positive time-offset (wrong minute)",
   138  				"data": "23:59:60+00:30",
   139  				"valid": false,
   140  				"skip": {
   141  					"v2": "unexpected success",
   142  					"v3": "unexpected success"
   143  				}
   144  			},
   145  			{
   146  				"description": "valid leap second, negative time-offset",
   147  				"data": "15:59:60-08:00",
   148  				"valid": true
   149  			},
   150  			{
   151  				"description": "valid leap second, large negative time-offset",
   152  				"data": "00:29:60-23:30",
   153  				"valid": true
   154  			},
   155  			{
   156  				"description": "invalid leap second, negative time-offset (wrong hour)",
   157  				"data": "23:59:60-01:00",
   158  				"valid": false,
   159  				"skip": {
   160  					"v2": "unexpected success",
   161  					"v3": "unexpected success"
   162  				}
   163  			},
   164  			{
   165  				"description": "invalid leap second, negative time-offset (wrong minute)",
   166  				"data": "23:59:60-00:30",
   167  				"valid": false,
   168  				"skip": {
   169  					"v2": "unexpected success",
   170  					"v3": "unexpected success"
   171  				}
   172  			},
   173  			{
   174  				"description": "a valid time string with second fraction",
   175  				"data": "23:20:50.52Z",
   176  				"valid": true
   177  			},
   178  			{
   179  				"description": "a valid time string with precise second fraction",
   180  				"data": "08:30:06.283185Z",
   181  				"valid": true
   182  			},
   183  			{
   184  				"description": "a valid time string with plus offset",
   185  				"data": "08:30:06+00:20",
   186  				"valid": true
   187  			},
   188  			{
   189  				"description": "a valid time string with minus offset",
   190  				"data": "08:30:06-08:00",
   191  				"valid": true
   192  			},
   193  			{
   194  				"description": "hour, minute in time-offset must be two digits",
   195  				"data": "08:30:06-8:000",
   196  				"valid": false,
   197  				"skip": {
   198  					"v2": "unexpected success",
   199  					"v3": "unexpected success"
   200  				}
   201  			},
   202  			{
   203  				"description": "a valid time string with case-insensitive Z",
   204  				"data": "08:30:06z",
   205  				"valid": true
   206  			},
   207  			{
   208  				"description": "an invalid time string with invalid hour",
   209  				"data": "24:00:00Z",
   210  				"valid": false,
   211  				"skip": {
   212  					"v2": "unexpected success",
   213  					"v3": "unexpected success"
   214  				}
   215  			},
   216  			{
   217  				"description": "an invalid time string with invalid minute",
   218  				"data": "00:60:00Z",
   219  				"valid": false,
   220  				"skip": {
   221  					"v2": "unexpected success",
   222  					"v3": "unexpected success"
   223  				}
   224  			},
   225  			{
   226  				"description": "an invalid time string with invalid second",
   227  				"data": "00:00:61Z",
   228  				"valid": false,
   229  				"skip": {
   230  					"v2": "unexpected success",
   231  					"v3": "unexpected success"
   232  				}
   233  			},
   234  			{
   235  				"description": "an invalid time string with invalid leap second (wrong hour)",
   236  				"data": "22:59:60Z",
   237  				"valid": false,
   238  				"skip": {
   239  					"v2": "unexpected success",
   240  					"v3": "unexpected success"
   241  				}
   242  			},
   243  			{
   244  				"description": "an invalid time string with invalid leap second (wrong minute)",
   245  				"data": "23:58:60Z",
   246  				"valid": false,
   247  				"skip": {
   248  					"v2": "unexpected success",
   249  					"v3": "unexpected success"
   250  				}
   251  			},
   252  			{
   253  				"description": "an invalid time string with invalid time numoffset hour",
   254  				"data": "01:02:03+24:00",
   255  				"valid": false,
   256  				"skip": {
   257  					"v2": "unexpected success",
   258  					"v3": "unexpected success"
   259  				}
   260  			},
   261  			{
   262  				"description": "an invalid time string with invalid time numoffset minute",
   263  				"data": "01:02:03+00:60",
   264  				"valid": false,
   265  				"skip": {
   266  					"v2": "unexpected success",
   267  					"v3": "unexpected success"
   268  				}
   269  			},
   270  			{
   271  				"description": "an invalid time string with invalid time with both Z and numoffset",
   272  				"data": "01:02:03Z+00:30",
   273  				"valid": false,
   274  				"skip": {
   275  					"v2": "unexpected success",
   276  					"v3": "unexpected success"
   277  				}
   278  			},
   279  			{
   280  				"description": "an invalid offset indicator",
   281  				"data": "08:30:06 PST",
   282  				"valid": false,
   283  				"skip": {
   284  					"v2": "unexpected success",
   285  					"v3": "unexpected success"
   286  				}
   287  			},
   288  			{
   289  				"description": "only RFC3339 not all of ISO 8601 are valid",
   290  				"data": "01:01:01,1111",
   291  				"valid": false,
   292  				"skip": {
   293  					"v2": "unexpected success",
   294  					"v3": "unexpected success"
   295  				}
   296  			},
   297  			{
   298  				"description": "no time offset",
   299  				"data": "12:00:00",
   300  				"valid": false,
   301  				"skip": {
   302  					"v2": "unexpected success",
   303  					"v3": "unexpected success"
   304  				}
   305  			},
   306  			{
   307  				"description": "no time offset with second fraction",
   308  				"data": "12:00:00.52",
   309  				"valid": false,
   310  				"skip": {
   311  					"v2": "unexpected success",
   312  					"v3": "unexpected success"
   313  				}
   314  			},
   315  			{
   316  				"description": "invalid non-ASCII '২' (a Bengali 2)",
   317  				"data": "1২:00:00Z",
   318  				"valid": false,
   319  				"skip": {
   320  					"v2": "unexpected success",
   321  					"v3": "unexpected success"
   322  				}
   323  			},
   324  			{
   325  				"description": "offset not starting with plus or minus",
   326  				"data": "08:30:06#00:20",
   327  				"valid": false,
   328  				"skip": {
   329  					"v2": "unexpected success",
   330  					"v3": "unexpected success"
   331  				}
   332  			},
   333  			{
   334  				"description": "contains letters",
   335  				"data": "ab:cd:ef",
   336  				"valid": false,
   337  				"skip": {
   338  					"v2": "unexpected success",
   339  					"v3": "unexpected success"
   340  				}
   341  			}
   342  		]
   343  	}
   344  ]