@@ -220,5 +220,42 @@ describe("project-templates-service", () => {
220220 } ) ;
221221
222222 } ) ;
223+
224+ describe ( "uses correct version" , ( ) => {
225+ [
226+ {
227+ name : "is correct when package version is passed" ,
228+ templateName : "some-template@1.0.0" ,
229+ expectedVersion : "1.0.0" ,
230+ expectedTemplateName : "some-template"
231+ } ,
232+ {
233+ name : "is correct when reserved package name with version is passed" ,
234+ templateName : "typescript@1.0.0" ,
235+ expectedVersion : "1.0.0" ,
236+ expectedTemplateName : "tns-template-hello-world-ts"
237+ } ,
238+ {
239+ name : "is correct when scoped package name without version is passed" ,
240+ templateName : "@nativescript/vue-template" ,
241+ expectedVersion : "" ,
242+ expectedTemplateName : "@nativescript/vue-template"
243+ } ,
244+ {
245+ name : "is correct when scoped package name with version is passed" ,
246+ templateName : "@nativescript/vue-template@1.0.0" ,
247+ expectedVersion : "1.0.0" ,
248+ expectedTemplateName : "@nativescript/vue-template"
249+ }
250+ ] . forEach ( testCase => {
251+ it ( testCase . name , async ( ) => {
252+ const testInjector = createTestInjector ( ) ;
253+ const projectTemplatesService = testInjector . resolve < IProjectTemplatesService > ( "projectTemplatesService" ) ;
254+ const { version, templateName } = await projectTemplatesService . prepareTemplate ( testCase . templateName , "tempFolder" ) ;
255+ assert . strictEqual ( version , testCase . expectedVersion ) ;
256+ assert . strictEqual ( templateName , testCase . expectedTemplateName ) ;
257+ } ) ;
258+ } ) ;
259+ } ) ;
223260 } ) ;
224261} ) ;
0 commit comments