Skip to content

Commit 6e97333

Browse files
authored
Add shortname() utility + tests (#18)
1 parent 1db3b65 commit 6e97333

3 files changed

Lines changed: 222 additions & 154 deletions

File tree

src/index.ts

Lines changed: 155 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -2,181 +2,182 @@ export {
22
loadDocument,
33
loadDocumentByString,
44
ValidationException,
5-
WorkflowInputParameter,
6-
SecondaryFileSchema,
7-
InputRecordSchemaProperties,
8-
ExpressionToolOutputParameter,
9-
InputEnumSchemaProperties,
10-
DockerRequirementProperties,
11-
InitialWorkDirRequirementProperties,
12-
WorkflowProperties,
13-
ToolTimeLimitProperties,
14-
PrimitiveType,
15-
Workflow_class,
16-
SoftwareRequirementProperties,
17-
stdout,
18-
enum_d9cba076fca539106791a4f46d198c7fcfbdb779,
19-
ResourceRequirementProperties,
20-
OutputFormatProperties,
21-
OutputEnumSchemaProperties,
22-
CommandOutputEnumSchemaProperties,
23-
WorkflowStepInputProperties,
24-
ScatterFeatureRequirementProperties,
25-
InputEnumSchema,
26-
LoadListingRequirement,
27-
InputArraySchema,
28-
CommandInputRecordFieldProperties,
29-
CWLType,
30-
Operation_class,
31-
OperationProperties,
32-
WorkReuse,
33-
EnvironmentDefProperties,
34-
RecordSchema,
35-
FileProperties,
36-
CommandOutputParameterProperties,
5+
shortname,
376
Any,
38-
OperationInputParameter,
39-
InputBinding,
40-
CommandOutputRecordFieldProperties,
41-
WorkflowOutputParameterProperties,
42-
ScatterFeatureRequirement,
43-
InplaceUpdateRequirementProperties,
44-
ShellCommandRequirementProperties,
45-
OutputEnumSchema,
46-
WorkflowStepOutputProperties,
47-
SoftwarePackage,
48-
ExpressionToolProperties,
49-
CommandOutputBinding,
50-
FieldBaseProperties,
51-
NetworkAccess,
52-
ProcessRequirementProperties,
53-
EnumSchemaProperties,
54-
InputParameterProperties,
7+
ArraySchema,
8+
ArraySchemaProperties,
9+
CWLType,
10+
CWLVersion,
11+
CommandInputArraySchema,
12+
CommandInputArraySchemaProperties,
13+
CommandInputEnumSchema,
14+
CommandInputEnumSchemaProperties,
15+
CommandInputParameter,
16+
CommandInputParameterProperties,
17+
CommandInputRecordField,
18+
CommandInputRecordFieldProperties,
19+
CommandInputRecordSchema,
20+
CommandInputRecordSchemaProperties,
5521
CommandInputSchemaProperties,
56-
OutputArraySchema,
57-
ExpressionTool,
58-
OutputRecordFieldProperties,
59-
SchemaDefRequirement_class,
60-
SchemaDefRequirementProperties,
61-
NetworkAccess_class,
62-
WorkflowInputParameterProperties,
63-
OutputArraySchemaProperties,
64-
Dirent,
65-
ToolTimeLimit,
66-
InputArraySchemaProperties,
67-
InlineJavascriptRequirement,
68-
LoadContentsProperties,
69-
ProcessProperties,
22+
CommandLineBindable,
23+
CommandLineBindableProperties,
24+
CommandLineBinding,
7025
CommandLineBindingProperties,
26+
CommandLineTool,
27+
CommandLineToolProperties,
28+
CommandLineTool_class,
29+
CommandOutputArraySchema,
7130
CommandOutputArraySchemaProperties,
72-
EnumSchema,
73-
ShellCommandRequirement,
74-
CommandInputArraySchemaProperties,
75-
InitialWorkDirRequirement_class,
76-
WorkflowStepOutput,
31+
CommandOutputBinding,
32+
CommandOutputBindingProperties,
33+
CommandOutputEnumSchema,
34+
CommandOutputEnumSchemaProperties,
35+
CommandOutputParameter,
36+
CommandOutputParameterProperties,
37+
CommandOutputRecordField,
38+
CommandOutputRecordFieldProperties,
7739
CommandOutputRecordSchema,
78-
CommandLineToolProperties,
79-
enum_d961d79c225752b9fadb617367615ab176b47d77,
80-
OutputRecordSchemaProperties,
40+
CommandOutputRecordSchemaProperties,
41+
Directory,
8142
DirectoryProperties,
82-
CommandOutputEnumSchema,
83-
CommandLineTool,
84-
OperationInputParameterProperties,
85-
CommandLineTool_class,
86-
enum_d062602be0b4b8fd33e69e29a841317b6ab665bc,
87-
SecondaryFileSchemaProperties,
88-
SinkProperties,
89-
stdin,
90-
ResourceRequirement,
91-
CommandLineBindableProperties,
43+
Directory_class,
44+
Dirent,
45+
DirentProperties,
46+
DockerRequirement,
47+
DockerRequirementProperties,
48+
DockerRequirement_class,
9249
DocumentedProperties,
93-
MultipleInputFeatureRequirement_class,
94-
OperationOutputParameterProperties,
95-
File,
96-
CommandInputParameter,
97-
ShellCommandRequirement_class,
50+
EnumSchema,
51+
EnumSchemaProperties,
52+
EnvVarRequirement,
53+
EnvVarRequirementProperties,
9854
EnvVarRequirement_class,
99-
RecordField,
100-
WorkflowStepProperties,
101-
CommandLineBinding,
102-
InitialWorkDirRequirement,
103-
InputFormatProperties,
104-
WorkflowOutputParameter,
105-
DirentProperties,
55+
EnvironmentDef,
56+
EnvironmentDefProperties,
57+
Expression,
58+
ExpressionTool,
59+
ExpressionToolOutputParameter,
10660
ExpressionToolOutputParameterProperties,
107-
PickValueMethod,
108-
ResourceRequirement_class,
109-
CWLVersion,
110-
Directory,
111-
CommandInputEnumSchema,
61+
ExpressionToolProperties,
62+
ExpressionTool_class,
63+
FieldBaseProperties,
64+
File,
65+
FileProperties,
66+
File_class,
11267
IOSchemaProperties,
113-
InputBindingProperties,
114-
CommandInputRecordField,
115-
WorkReuse_class,
116-
WorkflowStepInput,
117-
CommandOutputRecordField,
118-
ScatterFeatureRequirement_class,
119-
SubworkflowFeatureRequirementProperties,
68+
IdentifiedProperties,
69+
InitialWorkDirRequirement,
70+
InitialWorkDirRequirementProperties,
71+
InitialWorkDirRequirement_class,
72+
InlineJavascriptRequirement,
73+
InlineJavascriptRequirementProperties,
74+
InlineJavascriptRequirement_class,
12075
InplaceUpdateRequirement,
121-
WorkReuseProperties,
76+
InplaceUpdateRequirementProperties,
77+
InplaceUpdateRequirement_class,
78+
InputArraySchema,
79+
InputArraySchemaProperties,
80+
InputBinding,
81+
InputBindingProperties,
82+
InputEnumSchema,
83+
InputEnumSchemaProperties,
84+
InputFormatProperties,
85+
InputParameterProperties,
12286
InputRecordField,
123-
MultipleInputFeatureRequirement,
124-
EnvVarRequirementProperties,
125-
StepInputExpressionRequirement,
126-
RecordSchemaProperties,
127-
OutputSchemaProperties,
128-
EnvVarRequirement,
129-
Workflow,
130-
File_class,
87+
InputRecordFieldProperties,
88+
InputRecordSchema,
89+
InputRecordSchemaProperties,
90+
InputSchemaProperties,
13191
LabeledProperties,
132-
IdentifiedProperties,
133-
SubworkflowFeatureRequirement,
134-
ArraySchema,
135-
NetworkAccessProperties,
136-
ExpressionTool_class,
92+
LinkMergeMethod,
93+
LoadContentsProperties,
13794
LoadListingEnum,
138-
CommandOutputRecordSchemaProperties,
139-
Directory_class,
140-
ToolTimeLimit_class,
141-
CommandInputRecordSchema,
142-
StepInputExpressionRequirement_class,
143-
CommandOutputArraySchema,
144-
StepInputExpressionRequirementProperties,
145-
CommandOutputParameter,
146-
RecordFieldProperties,
147-
CommandOutputBindingProperties,
148-
EnvironmentDef,
149-
CommandInputEnumSchemaProperties,
95+
LoadListingRequirement,
96+
LoadListingRequirementProperties,
15097
LoadListingRequirement_class,
98+
MultipleInputFeatureRequirement,
15199
MultipleInputFeatureRequirementProperties,
152-
LoadListingRequirementProperties,
153-
InputSchemaProperties,
154-
ParameterProperties,
155-
DockerRequirement,
156-
stderr,
100+
MultipleInputFeatureRequirement_class,
101+
NetworkAccess,
102+
NetworkAccessProperties,
103+
NetworkAccess_class,
104+
Operation,
105+
OperationInputParameter,
106+
OperationInputParameterProperties,
157107
OperationOutputParameter,
158-
CommandLineBindable,
108+
OperationOutputParameterProperties,
109+
OperationProperties,
110+
Operation_class,
111+
OutputArraySchema,
112+
OutputArraySchemaProperties,
113+
OutputEnumSchema,
114+
OutputEnumSchemaProperties,
115+
OutputFormatProperties,
159116
OutputParameterProperties,
160-
SoftwarePackageProperties,
161-
DockerRequirement_class,
162117
OutputRecordField,
163-
SubworkflowFeatureRequirement_class,
118+
OutputRecordFieldProperties,
119+
OutputRecordSchema,
120+
OutputRecordSchemaProperties,
121+
OutputSchemaProperties,
122+
ParameterProperties,
123+
PickValueMethod,
124+
PrimitiveType,
125+
ProcessProperties,
126+
ProcessRequirementProperties,
127+
RecordField,
128+
RecordFieldProperties,
129+
RecordSchema,
130+
RecordSchemaProperties,
131+
ResourceRequirement,
132+
ResourceRequirementProperties,
133+
ResourceRequirement_class,
134+
ScatterFeatureRequirement,
135+
ScatterFeatureRequirementProperties,
136+
ScatterFeatureRequirement_class,
164137
ScatterMethod,
165-
InputRecordSchema,
166-
CommandInputArraySchema,
167-
InputRecordFieldProperties,
168-
InlineJavascriptRequirement_class,
169138
SchemaDefRequirement,
170-
Expression,
171-
OutputRecordSchema,
172-
Operation,
173-
SoftwareRequirement_class,
174-
LinkMergeMethod,
175-
InlineJavascriptRequirementProperties,
139+
SchemaDefRequirementProperties,
140+
SchemaDefRequirement_class,
141+
SecondaryFileSchema,
142+
SecondaryFileSchemaProperties,
143+
ShellCommandRequirement,
144+
ShellCommandRequirementProperties,
145+
ShellCommandRequirement_class,
146+
SinkProperties,
147+
SoftwarePackage,
148+
SoftwarePackageProperties,
176149
SoftwareRequirement,
177-
CommandInputRecordSchemaProperties,
178-
InplaceUpdateRequirement_class,
150+
SoftwareRequirementProperties,
151+
SoftwareRequirement_class,
152+
StepInputExpressionRequirement,
153+
StepInputExpressionRequirementProperties,
154+
StepInputExpressionRequirement_class,
155+
SubworkflowFeatureRequirement,
156+
SubworkflowFeatureRequirementProperties,
157+
SubworkflowFeatureRequirement_class,
158+
ToolTimeLimit,
159+
ToolTimeLimitProperties,
160+
ToolTimeLimit_class,
161+
WorkReuse,
162+
WorkReuseProperties,
163+
WorkReuse_class,
164+
Workflow,
165+
WorkflowInputParameter,
166+
WorkflowInputParameterProperties,
167+
WorkflowOutputParameter,
168+
WorkflowOutputParameterProperties,
169+
WorkflowProperties,
179170
WorkflowStep,
180-
CommandInputParameterProperties,
181-
ArraySchemaProperties
171+
WorkflowStepInput,
172+
WorkflowStepInputProperties,
173+
WorkflowStepOutput,
174+
WorkflowStepOutputProperties,
175+
WorkflowStepProperties,
176+
Workflow_class,
177+
enum_d062602be0b4b8fd33e69e29a841317b6ab665bc,
178+
enum_d961d79c225752b9fadb617367615ab176b47d77,
179+
enum_d9cba076fca539106791a4f46d198c7fcfbdb779,
180+
stderr,
181+
stdin,
182+
stdout
182183
} from './util/Internal'

src/test/utilities.spec.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { assert } from 'chai'
2+
import { shortname } from '../util/Internal'
3+
4+
describe('Test Utilities', () => {
5+
describe('shortname', () => {
6+
it('test1', async () => {
7+
assert.equal(
8+
shortname('file:/Users/jdidion/projects/cwlScala/target/test-classes/CommandLineTools/conformance/#anon_enum_inside_array_inside_schemadef.cwl/first/user_type_2/species/homo_sapiens'),
9+
'homo_sapiens'
10+
)
11+
}),
12+
it('test2', async () => {
13+
assert.equal(
14+
shortname('file:///home/michael/cwljava/src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_anon_enum_inside_array_inside_schemadef.cwl#vcf2maf_params/ncbi_build/GRCh37'),
15+
'GRCh37'
16+
)
17+
}),
18+
it('test3', async () => {
19+
assert.equal(
20+
shortname('http://example.com/foo'), 'foo'
21+
)
22+
}),
23+
it('test4', async () => {
24+
assert.equal(
25+
shortname('http://example.com/#bar'), 'bar'
26+
)
27+
}),
28+
it('test5', async () => {
29+
assert.equal(
30+
shortname('http://example.com/foo/bar'), 'bar'
31+
)
32+
}),
33+
it('test6', async () => {
34+
assert.equal(
35+
shortname('http://example.com/foo#bar'), 'bar'
36+
)
37+
}),
38+
it('test7', async () => {
39+
assert.equal(
40+
shortname('http://example.com/#foo/bar'), 'bar'
41+
)
42+
}),
43+
it('test8', async () => {
44+
assert.equal(
45+
shortname('http://example.com/foo#bar/baz'), 'baz'
46+
)
47+
})
48+
})
49+
})

0 commit comments

Comments
 (0)