You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					40 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					40 lines
				
				1.2 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								// Set the umask, so that it works the same everywhere.
							 | 
						||
| 
								 | 
							
								process.umask(parseInt('22', 8))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var tap = require("tap")
							 | 
						||
| 
								 | 
							
								  , tar = require("../tar.js")
							 | 
						||
| 
								 | 
							
								  , fs = require("fs")
							 | 
						||
| 
								 | 
							
								  , path = require("path")
							 | 
						||
| 
								 | 
							
								  , file = path.resolve(__dirname, "link-file-entry-collision/bad-link.tar")
							 | 
						||
| 
								 | 
							
								  , target = path.resolve(__dirname, "tmp/link-file-entry-collision")
							 | 
						||
| 
								 | 
							
								  , index = 0
							 | 
						||
| 
								 | 
							
								  , fstream = require("fstream")
							 | 
						||
| 
								 | 
							
								  , mkdirp = require("mkdirp")
							 | 
						||
| 
								 | 
							
								  , rimraf = require("rimraf")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test("preclean", function (t) {
							 | 
						||
| 
								 | 
							
								  rimraf.sync(target)
							 | 
						||
| 
								 | 
							
								  t.pass("cleaned!")
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test("extract test", function (t) {
							 | 
						||
| 
								 | 
							
								  var extract = tar.Extract(target)
							 | 
						||
| 
								 | 
							
								  var inp = fs.createReadStream(file)
							 | 
						||
| 
								 | 
							
								  inp.pipe(extract)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  extract.on("end", function () {
							 | 
						||
| 
								 | 
							
								    t.equal(fs.readFileSync(target + "/bad-link-target", "utf8"),
							 | 
						||
| 
								 | 
							
								      "this should remain the same\n")
							 | 
						||
| 
								 | 
							
								    t.equal(fs.readFileSync(target + "/a.txt", "utf8"),
							 | 
						||
| 
								 | 
							
								      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test("cleanup", function (t) {
							 | 
						||
| 
								 | 
							
								  rimraf.sync(target)
							 | 
						||
| 
								 | 
							
								  t.pass("cleaned!")
							 | 
						||
| 
								 | 
							
								  t.end()
							 | 
						||
| 
								 | 
							
								})
							 |