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

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