@@ -2,7 +2,7 @@ const test = require("ava");
22const sinon = require ( "sinon" ) ;
33const resourceFactory = require ( "@ui5/fs" ) . resourceFactory ;
44const serveResourcesMiddleware = require ( "../../../../lib/middleware/serveResources" ) ;
5- const writeResource = function ( writer , path , size , stringContent ) {
5+ const writeResource = function ( writer , path , size , stringContent , project ) {
66 const statInfo = {
77 ino : 0 ,
88 ctime : new Date ( ) ,
@@ -12,7 +12,12 @@ const writeResource = function(writer, path, size, stringContent) {
1212 return false ;
1313 }
1414 } ;
15- const resource = resourceFactory . createResource ( { path, buffer : Buffer . from ( stringContent , "latin1" ) , statInfo} ) ;
15+ const resource = resourceFactory . createResource ( {
16+ path,
17+ buffer : Buffer . from ( stringContent , "latin1" ) ,
18+ statInfo,
19+ project
20+ } ) ;
1621 // stub resource functionality in order to be able to get the Resource's content. Otherwise it would be drained.
1722 sinon . stub ( resource , "getStream" ) . returns ( {
1823 pipe : function ( ) {
@@ -32,89 +37,90 @@ test.afterEach.always((t) => {
3237 sinon . restore ( ) ;
3338} ) ;
3439
35-
3640test . serial ( "Check if properties file is served properly" , ( t ) => {
3741 t . plan ( 4 ) ;
3842
3943 const readerWriter = resourceFactory . createAdapter ( { virBasePath : "/" } ) ;
44+ const project = {
45+ resources : {
46+ configuration : {
47+ propertiesFileSourceEncoding : "ISO-8859-1"
48+ }
49+ }
50+ } ;
4051
41- return writeResource ( readerWriter , "/myFile3.properties" , 1024 * 1024 , "key=titel\nfame=straße" ) . then ( ( resource ) => {
42- const setStringSpy = sinon . spy ( resource , "setString" ) ;
43- const middleware = serveResourcesMiddleware ( {
44- resources : {
45- all : readerWriter
46- } ,
47- tree : {
52+ return writeResource ( readerWriter , "/myFile3.properties" , 1024 * 1024 , "key=titel\nfame=straße" , project )
53+ . then ( ( resource ) => {
54+ const setStringSpy = sinon . spy ( resource , "setString" ) ;
55+ const middleware = serveResourcesMiddleware ( {
4856 resources : {
49- configuration : {
50- propertiesFileSourceEncoding : "ISO-8859-1"
51- }
57+ all : readerWriter
5258 }
53- }
54- } ) ;
55-
56- const response = fakeResponse ;
57-
58- const setHeaderSpy = sinon . spy ( response , "setHeader" ) ;
59- const req = {
60- url : "/myFile3.properties" ,
61- headers : { }
62- } ;
63- const next = function ( err ) {
64- throw new Error ( `Next callback called with error: ${ err . message } ` ) ;
65- } ;
66- return middleware ( req , response , next ) . then ( ( o ) => {
67- return resource . getString ( ) ;
68- } ) . then ( ( content ) => {
69- t . is ( content , `key=titel
59+ } ) ;
60+
61+ const response = fakeResponse ;
62+
63+ const setHeaderSpy = sinon . spy ( response , "setHeader" ) ;
64+ const req = {
65+ url : "/myFile3.properties" ,
66+ headers : { }
67+ } ;
68+ const next = function ( err ) {
69+ throw new Error ( `Next callback called with error: ${ err . message } ` ) ;
70+ } ;
71+ return middleware ( req , response , next ) . then ( ( o ) => {
72+ return resource . getString ( ) ;
73+ } ) . then ( ( content ) => {
74+ t . is ( content , `key=titel
7075fame=stra\\u00dfe` ) ;
71- t . is ( setHeaderSpy . callCount , 2 ) ;
72- t . is ( setStringSpy . callCount , 1 ) ;
73- t . is ( setHeaderSpy . getCall ( 0 ) . lastArg , "application/octet-stream" ) ;
76+ t . is ( setHeaderSpy . callCount , 2 ) ;
77+ t . is ( setStringSpy . callCount , 1 ) ;
78+ t . is ( setHeaderSpy . getCall ( 0 ) . lastArg , "application/octet-stream" ) ;
79+ } ) ;
7480 } ) ;
75- } ) ;
7681} ) ;
7782
7883test . serial ( "Check if properties file is served properly with UTF-8" , ( t ) => {
7984 t . plan ( 4 ) ;
8085
8186 const readerWriter = resourceFactory . createAdapter ( { virBasePath : "/" } ) ;
87+ const project = {
88+ resources : {
89+ configuration : {
90+ propertiesFileSourceEncoding : "UTF-8"
91+ }
92+ }
93+ } ;
8294
83- return writeResource ( readerWriter , "/myFile3.properties" , 1024 * 1024 , "key=titel\nfame=straße" ) . then ( ( resource ) => {
84- const setStringSpy = sinon . spy ( resource , "setString" ) ;
85- const middleware = serveResourcesMiddleware ( {
86- resources : {
87- all : readerWriter
88- } ,
89- tree : {
95+ return writeResource ( readerWriter , "/myFile3.properties" , 1024 * 1024 , "key=titel\nfame=straße" , project )
96+ . then ( ( resource ) => {
97+ const setStringSpy = sinon . spy ( resource , "setString" ) ;
98+ const middleware = serveResourcesMiddleware ( {
9099 resources : {
91- configuration : {
92- propertiesFileSourceEncoding : "UTF-8"
93- }
100+ all : readerWriter
94101 }
95- }
96- } ) ;
97-
98- const response = fakeResponse ;
99-
100- const setHeaderSpy = sinon . spy ( response , "setHeader" ) ;
101- const req = {
102- url : "/myFile3.properties" ,
103- headers : { }
104- } ;
105- const next = function ( err ) {
106- throw new Error ( `Next callback called with error: ${ err . message } ` ) ;
107- } ;
108- return middleware ( req , response , next ) . then ( ( o ) => {
109- return resource . getString ( ) ;
110- } ) . then ( ( content ) => {
111- t . is ( content , `key=titel
102+ } ) ;
103+
104+ const response = fakeResponse ;
105+
106+ const setHeaderSpy = sinon . spy ( response , "setHeader" ) ;
107+ const req = {
108+ url : "/myFile3.properties" ,
109+ headers : { }
110+ } ;
111+ const next = function ( err ) {
112+ throw new Error ( `Next callback called with error: ${ err . message } ` ) ;
113+ } ;
114+ return middleware ( req , response , next ) . then ( ( o ) => {
115+ return resource . getString ( ) ;
116+ } ) . then ( ( content ) => {
117+ t . is ( content , `key=titel
112118fame=stra\\ufffde` ) ;
113- t . is ( setHeaderSpy . callCount , 2 ) ;
114- t . is ( setStringSpy . callCount , 1 ) ;
115- t . is ( setHeaderSpy . getCall ( 0 ) . lastArg , "application/octet-stream" ) ;
119+ t . is ( setHeaderSpy . callCount , 2 ) ;
120+ t . is ( setStringSpy . callCount , 1 ) ;
121+ t . is ( setHeaderSpy . getCall ( 0 ) . lastArg , "application/octet-stream" ) ;
122+ } ) ;
116123 } ) ;
117- } ) ;
118124} ) ;
119125
120126test . serial ( "Check if properties file is served properly without property setting" , ( t ) => {
0 commit comments