@@ -604,6 +604,20 @@ export const standardTypeTests: Test[] = [
604604 values : [ '22b4a8a1-e548-4eeb-9270-60426d66a48e' ] ,
605605 displayValues : [ '"22b4a8a1-e548-4eeb-9270-60426d66a48e"' ] ,
606606 } ,
607+ {
608+ name : 'SHA1' ,
609+ query : `
610+ with rel:base use ^SHA1
611+ def output = ^SHA1[0x0d7d4a744fd92effd1ed88e48ac8231e, 0x7f7e9e6c]
612+ ` ,
613+ typeDefs : [
614+ {
615+ type : 'SHA1' ,
616+ } ,
617+ ] ,
618+ values : [ '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' ] ,
619+ displayValues : [ '"0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c"' ] ,
620+ } ,
607621] ;
608622
609623export const specializationTests : Test [ ] = [
@@ -1439,6 +1453,25 @@ export const specializationTests: Test[] = [
14391453 values : [ '22b4a8a1-e548-4eeb-9270-60426d66a48e' ] ,
14401454 displayValues : [ '"22b4a8a1-e548-4eeb-9270-60426d66a48e"' ] ,
14411455 } ,
1456+ {
1457+ name : 'SHA1' ,
1458+ query : `
1459+ with rel:base use ^SHA1
1460+ def v = ^SHA1[0x0d7d4a744fd92effd1ed88e48ac8231e, 0x7f7e9e6c]
1461+ def output = #(v)
1462+ ` ,
1463+ typeDefs : [
1464+ {
1465+ type : 'Constant' ,
1466+ value : {
1467+ type : 'SHA1' ,
1468+ value : '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' ,
1469+ } ,
1470+ } ,
1471+ ] ,
1472+ values : [ '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' ] ,
1473+ displayValues : [ '"0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c"' ] ,
1474+ } ,
14421475] ;
14431476
14441477export const valueTypeTests : Test [ ] = [
@@ -2619,6 +2652,34 @@ export const valueTypeTests: Test[] = [
26192652 values : [ [ ':MyType' , 1n , '22b4a8a1-e548-4eeb-9270-60426d66a48e' ] ] ,
26202653 displayValues : [ '(:MyType, 1, "22b4a8a1-e548-4eeb-9270-60426d66a48e")' ] ,
26212654 } ,
2655+ {
2656+ name : 'SHA1' ,
2657+ query : `
2658+ with rel:base use ^SHA1, SHA1
2659+ def sha1 = ^SHA1[0x0d7d4a744fd92effd1ed88e48ac8231e, 0x7f7e9e6c]
2660+ value type MyType = Int, SHA1
2661+ def output = ^MyType[1, sha1]
2662+ ` ,
2663+ typeDefs : [
2664+ {
2665+ type : 'ValueType' ,
2666+ typeDefs : [
2667+ {
2668+ type : 'Constant' ,
2669+ value : { type : 'String' , value : ':MyType' } ,
2670+ } ,
2671+ {
2672+ type : 'Int64' ,
2673+ } ,
2674+ {
2675+ type : 'SHA1' ,
2676+ } ,
2677+ ] ,
2678+ } ,
2679+ ] ,
2680+ values : [ [ ':MyType' , 1n , '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' ] ] ,
2681+ displayValues : [ '(:MyType, 1, "0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c")' ] ,
2682+ } ,
26222683] ;
26232684
26242685export const miscValueTypeTests : Test [ ] = [
@@ -4200,4 +4261,37 @@ export const valueTypeSpecializationTests: Test[] = [
42004261 values : [ [ ':MyType' , '22b4a8a1-e548-4eeb-9270-60426d66a48e' , 1n ] ] ,
42014262 displayValues : [ '(:MyType, "22b4a8a1-e548-4eeb-9270-60426d66a48e", 1)' ] ,
42024263 } ,
4264+ {
4265+ name : 'SHA1' ,
4266+ query : `
4267+ with rel:base use ^SHA1, SHA1
4268+ def sha1 = ^SHA1[0x0d7d4a744fd92effd1ed88e48ac8231e, 0x7f7e9e6c]
4269+ value type MyType = SHA1, Int
4270+ def v = ^MyType[sha1, 1]
4271+ def output = #(v)
4272+ ` ,
4273+ typeDefs : [
4274+ {
4275+ type : 'Constant' ,
4276+ value : {
4277+ type : 'ValueType' ,
4278+ typeDefs : [
4279+ {
4280+ type : 'Constant' ,
4281+ value : { type : 'String' , value : ':MyType' } ,
4282+ } ,
4283+ {
4284+ type : 'SHA1' ,
4285+ } ,
4286+ {
4287+ type : 'Int64' ,
4288+ } ,
4289+ ] ,
4290+ value : [ ':MyType' , '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' , 1n ] ,
4291+ } ,
4292+ } ,
4293+ ] ,
4294+ values : [ [ ':MyType' , '0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c' , 1n ] ] ,
4295+ displayValues : [ '(:MyType, "0d7d4a744fd92effd1ed88e48ac8231e7f7e9e6c", 1)' ] ,
4296+ } ,
42034297] ;
0 commit comments