Ticket #4939: 4939.patch
File 4939.patch, 3.1 KB (added by , 14 years ago) |
---|
-
_source/includes/io.js
402 402 403 403 isChildPath : function( childPath, parentPath ) 404 404 { 405 if ( childPath.length > parentPath.length)405 if ( childPath.length() < parentPath.length() ) 406 406 return false; 407 407 408 408 var i = 0, max = Math.min( childPath.length(), parentPath.length() ); … … 410 410 while ( i < max && childPath.charAt( i ) == parentPath.charAt( i ) ) 411 411 i++; 412 412 413 return i != max;413 return ( i == max ); 414 414 } 415 415 }; 416 416 } )(); -
_source/includes/releaser.js
466 466 throw "Source and target directory cannot be identical"; 467 467 468 468 if ( CKRELEASER.io.isChildPath( targetDir.getCanonicalPath(), sourceDir.getCanonicalPath() ) ) 469 throw "Target directory must be located outside source directory"; 469 { 470 var _dir, targetDirIsIgnored = false; 471 for ( var i = 0 ; i < CKRELEASER.release.ignore.length ; i++ ) 472 { 473 _dir = new File( sourceDir, CKRELEASER.release.ignore[i] ); 474 if ( CKRELEASER.io.isChildPath( targetDir.getCanonicalPath(), _dir.getCanonicalPath() ) ) 475 targetDirIsIgnored = true; 476 } 477 if ( !targetDirIsIgnored ) 478 throw "Target directory must be located outside the source directory"; 479 } 470 480 471 481 if ( !releaseDir.mkdirs() ) 472 482 throw "Cannot create release directory (" + releaseDir + ")"; -
test/test.js
303 303 var areEqual = files.toString().replace(/\\/g, "/") == validResult.toString(); 304 304 assertEquals( true, areEqual, "Comparing plugins directories (are equal?)" ); 305 305 } 306 307 function testIO() { 308 var releaser = new CKRELEASER.releaser(); 309 // isChildPath(child, parent) 310 var result = [ 311 CKRELEASER.io.isChildPath( new java.lang.String("C:/path/to/directory"), new java.lang.String("C:/path") ), 312 CKRELEASER.io.isChildPath( new java.lang.String("C:/path"), new java.lang.String("C:/path/to/directory") ), 313 CKRELEASER.io.isChildPath( new java.lang.String("C:/foo"), new java.lang.String("C:/bar") ), 314 CKRELEASER.io.isChildPath( new java.lang.String("C:/foo/bar"), new java.lang.String("C:/baz") ), 315 CKRELEASER.io.isChildPath( new java.lang.String("D:\\htdocs\\ckeditor_trunk\\_dev\\releaser\\release"), new java.lang.String("D:\\htdocs\\ckeditor_trunk") ), 316 CKRELEASER.io.isChildPath( new java.lang.String("C:/foo"), new java.lang.String("C:/bar/baz") ) 317 ]; 318 assertEquals( [true, false, false, false, true, false].toString(), result.toString(), "Checking isChildPath()" ); 319 } 320 306 321 prepareTempDirs(); 307 322 testDirectives(); 308 323 testSkins(); … … 310 325 testBom(); 311 326 testLineEndings(); 312 327 testCopyFiles(); 328 testIO(); 313 329 314 330 print( '' ); 315 331 print( 'Finished: ' + passCount + ' passed / ' + failCount + ' failed' );