@@ -1443,7 +1443,7 @@ public void sendStreamRange() {
14431443 client .header ("Range" , "bytes=0-99" );
14441444 client .get ("/range" , rsp -> {
14451445 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1446- assertEquals ("bytes 0-99/18944" , rsp .header ("content-range" ));
1446+ assertEquals ("bytes 0-99/" + _19kb . length () , rsp .header ("content-range" ));
14471447 assertEquals ("100" , rsp .header ("content-length" ));
14481448 assertEquals (206 , rsp .code ());
14491449 assertEquals (_19kb .substring (0 , 100 ), rsp .body ().string ());
@@ -1452,7 +1452,7 @@ public void sendStreamRange() {
14521452 client .header ("Range" , "bytes=-100" );
14531453 client .get ("/range" , rsp -> {
14541454 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1455- assertEquals ("bytes 18844-18943/18944" , rsp .header ("content-range" ));
1455+ assertEquals ("bytes " + ( _19kb . length ()- 100 ) + "-" +( _19kb . length ()- 1 )+ "/" + _19kb . length () , rsp .header ("content-range" ));
14561456 assertEquals ("100" , rsp .header ("content-length" ));
14571457 assertEquals (206 , rsp .code ());
14581458 assertEquals (_19kb .substring (_19kb .length () - 100 ), rsp .body ().string ());
@@ -1462,15 +1462,15 @@ public void sendStreamRange() {
14621462 client .header ("Range" , "bytes=-" + last );
14631463 client .get ("/range" , rsp -> {
14641464 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1465- assertEquals ("bytes 2555-18943/18944" , rsp .header ("content-range" ));
1465+ assertEquals ("bytes " +( _19kb . length ()- last )+ "-" +( _19kb . length ()- 1 )+ "/" + _19kb . length () , rsp .header ("content-range" ));
14661466 assertEquals (Integer .toString (last ), rsp .header ("content-length" ));
14671467 assertEquals (206 , rsp .code ());
14681468 assertEquals (_19kb .substring (_19kb .length () - last ), rsp .body ().string ());
14691469 });
14701470 client .header ("Range" , "bytes=0-" + last );
14711471 client .get ("/range" , rsp -> {
14721472 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1473- assertEquals ("bytes 0-" + last + "/18944" , rsp .header ("content-range" ));
1473+ assertEquals ("bytes 0-" + last + "/" + _19kb . length () , rsp .header ("content-range" ));
14741474 assertEquals (Integer .toString (last + 1 ), rsp .header ("content-length" ));
14751475 assertEquals (206 , rsp .code ());
14761476 assertEquals (_19kb .substring (0 , last + 1 ), rsp .body ().string ());
@@ -1557,7 +1557,7 @@ public void sendFileRange() {
15571557 client .header ("Range" , "bytes=0-99" );
15581558 client .get ("/file-range" , rsp -> {
15591559 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1560- assertEquals ("bytes 0-99/18944" , rsp .header ("content-range" ));
1560+ assertEquals ("bytes 0-99/" + _19kb . length () , rsp .header ("content-range" ));
15611561 assertEquals ("100" , rsp .header ("content-length" ));
15621562 assertEquals (206 , rsp .code ());
15631563 assertEquals (_19kb .substring (0 , 100 ), rsp .body ().string ());
@@ -1566,7 +1566,7 @@ public void sendFileRange() {
15661566 client .header ("Range" , "bytes=-100" );
15671567 client .get ("/file-range" , rsp -> {
15681568 assertEquals ("bytes" , rsp .header ("accept-ranges" ));
1569- assertEquals ("bytes 18844-18943/18944" , rsp .header ("content-range" ));
1569+ assertEquals ("bytes " +( _19kb . length () - 100 )+ "-" +( _19kb . length ()- 1 )+ "/" + _19kb . length () , rsp .header ("content-range" ));
15701570 assertEquals ("100" , rsp .header ("content-length" ));
15711571 assertEquals (206 , rsp .code ());
15721572 assertEquals (_19kb .substring (_19kb .length () - 100 ), rsp .body ().string ());
@@ -1975,7 +1975,13 @@ public void staticSiteFromFs() {
19751975 }
19761976
19771977 @ Test
1978- public void assets () {
1978+ public void assets () throws IOException {
1979+
1980+ String cl1 = String .valueOf (userdir ("src" , "test" , "www" , "js" , "index.js" ).toFile ().length ());
1981+ String cl2 = String .valueOf (getClass ().getResource ("/www/foo.js" ).openConnection ().getContentLength ());
1982+ String cl3 = String .valueOf (getClass ().getResource ("/www/index.html" ).openConnection ().getContentLength ());
1983+ String cl4 = String .valueOf (userdir ("src" , "test" , "www" , "css" , "styles.css" ).toFile ().length ());
1984+ String cl5 = String .valueOf (userdir ("src" , "test" , "www" , "index.html" ).toFile ().length ());
19791985 new JoobyRunner (app -> {
19801986 app .assets ("/static/?*" , userdir ("src" , "test" , "www" ));
19811987 app .assets ("/*" , userdir ("src" , "test" , "www" ));
@@ -1988,28 +1994,30 @@ public void assets() {
19881994
19891995 app .assets ("/fsfile.js" , userdir ("src" , "test" , "www" , "js" , "index.js" ));
19901996 app .assets ("/cpfile.js" , "/www/foo.js" );
1997+
1998+
19911999 }).ready (client -> {
19922000 client .get ("/cpfile.js" , rsp -> {
19932001 assertEquals ("application/javascript;charset=utf-8" ,
19942002 rsp .header ("Content-Type" ).toLowerCase ());
1995- assertEquals ("41" , rsp .header ("Content-Length" ).toLowerCase ());
2003+ assertEquals (cl2 , rsp .header ("Content-Length" ).toLowerCase ());
19962004 });
19972005 // single file
19982006 client .get ("/fsfile.js" , rsp -> {
19992007 assertEquals ("application/javascript;charset=utf-8" ,
20002008 rsp .header ("Content-Type" ).toLowerCase ());
2001- assertEquals ("23" , rsp .header ("Content-Length" ).toLowerCase ());
2009+ assertEquals (cl1 , rsp .header ("Content-Length" ).toLowerCase ());
20022010 });
20032011 /** Multiple sources on same path: */
20042012 client .get ("/m/foo.js" , rsp -> {
20052013 assertEquals ("application/javascript;charset=utf-8" ,
20062014 rsp .header ("Content-Type" ).toLowerCase ());
2007- assertEquals ("41" , rsp .header ("Content-Length" ).toLowerCase ());
2015+ assertEquals (cl2 , rsp .header ("Content-Length" ).toLowerCase ());
20082016 });
20092017 client .get ("/m/js/index.js" , rsp -> {
20102018 assertEquals ("application/javascript;charset=utf-8" ,
20112019 rsp .header ("Content-Type" ).toLowerCase ());
2012- assertEquals ("23" , rsp .header ("Content-Length" ).toLowerCase ());
2020+ assertEquals (cl1 , rsp .header ("Content-Length" ).toLowerCase ());
20132021 assertEquals (200 , rsp .code ());
20142022
20152023 String etag = rsp .header ("etag" );
@@ -2030,23 +2038,24 @@ public void assets() {
20302038 client .get ("/cp/foo.js" , rsp -> {
20312039 assertEquals ("application/javascript;charset=utf-8" ,
20322040 rsp .header ("Content-Type" ).toLowerCase ());
2033- assertEquals ("41" , rsp .header ("Content-Length" ).toLowerCase ());
2041+ assertEquals (cl2 , rsp .header ("Content-Length" ).toLowerCase ());
20342042 });
20352043 client .get ("/cp" , rsp -> {
20362044 assertEquals (404 , rsp .code ());
20372045 });
20382046 /** File system: */
2047+
20392048 client .get ("/" , rsp -> {
20402049 assertEquals ("text/html;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2041- assertEquals ("155" , rsp .header ("Content-Length" ).toLowerCase ());
2050+ assertEquals (cl5 , rsp .header ("Content-Length" ).toLowerCase ());
20422051 });
20432052 client .get ("/static" , rsp -> {
20442053 assertEquals ("text/html;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2045- assertEquals ("155" , rsp .header ("Content-Length" ).toLowerCase ());
2054+ assertEquals (cl5 , rsp .header ("Content-Length" ).toLowerCase ());
20462055 });
20472056 client .get ("/static/index.html" , rsp -> {
20482057 assertEquals ("text/html;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2049- assertEquals ("155" , rsp .header ("Content-Length" ).toLowerCase ());
2058+ assertEquals (cl5 , rsp .header ("Content-Length" ).toLowerCase ());
20502059 });
20512060 client .get ("/static/note" , rsp -> {
20522061 assertEquals ("text/html;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
@@ -2059,11 +2068,11 @@ public void assets() {
20592068 client .get ("/static/js/index.js" , rsp -> {
20602069 assertEquals ("application/javascript;charset=utf-8" ,
20612070 rsp .header ("Content-Type" ).toLowerCase ());
2062- assertEquals ("23" , rsp .header ("Content-Length" ).toLowerCase ());
2071+ assertEquals (cl1 , rsp .header ("Content-Length" ).toLowerCase ());
20632072 });
20642073 client .get ("/static/css/styles.css" , rsp -> {
20652074 assertEquals ("text/css;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2066- assertEquals ("136" , rsp .header ("Content-Length" ).toLowerCase ());
2075+ assertEquals (cl4 , rsp .header ("Content-Length" ).toLowerCase ());
20672076 });
20682077 client .get ("/static/../resources/fileupload.js" , rsp -> {
20692078 assertEquals (404 , rsp .code ());
@@ -2072,16 +2081,16 @@ public void assets() {
20722081 /* ROOT: */
20732082 client .get ("/index.html" , rsp -> {
20742083 assertEquals ("text/html;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2075- assertEquals ("155" , rsp .header ("Content-Length" ).toLowerCase ());
2084+ assertEquals (cl5 , rsp .header ("Content-Length" ).toLowerCase ());
20762085 });
20772086 client .get ("/js/index.js" , rsp -> {
20782087 assertEquals ("application/javascript;charset=utf-8" ,
20792088 rsp .header ("Content-Type" ).toLowerCase ());
2080- assertEquals ("23" , rsp .header ("Content-Length" ).toLowerCase ());
2089+ assertEquals (cl1 , rsp .header ("Content-Length" ).toLowerCase ());
20812090 });
20822091 client .get ("/css/styles.css" , rsp -> {
20832092 assertEquals ("text/css;charset=utf-8" , rsp .header ("Content-Type" ).toLowerCase ());
2084- assertEquals ("136" , rsp .header ("Content-Length" ).toLowerCase ());
2093+ assertEquals (cl4 , rsp .header ("Content-Length" ).toLowerCase ());
20852094 });
20862095
20872096 // Inside jar
@@ -2591,8 +2600,9 @@ public void head() {
25912600 assertEquals (200 , rsp .code ());
25922601 });
25932602
2603+ String cl = String .valueOf (getClass ().getResource ("/www/foo.js" ).openConnection ().getContentLength ());
25942604 client .head ("/foo.js" , rsp -> {
2595- assertEquals ("41" , rsp .header ("Content-Length" ));
2605+ assertEquals (cl , rsp .header ("Content-Length" ));
25962606 assertEquals ("application/javascript;charset=utf-8" ,
25972607 rsp .header ("Content-Type" ).toLowerCase ());
25982608 assertNotNull (rsp .header ("ETag" ));
0 commit comments