| 
									
										
										
										
											2015-03-08 15:59:53 -04:00
										 |  |  | describe("PDF Recognition", function() { | 
					
						
							|  |  |  | 	Components.utils.import("resource://gre/modules/FileUtils.jsm"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var win; | 
					
						
							|  |  |  | 	before(function() { | 
					
						
							|  |  |  | 		this.timeout(60000); | 
					
						
							| 
									
										
										
										
											2015-03-09 17:06:01 -04:00
										 |  |  | 		// Load Zotero pane, install PDF tools, and load the
 | 
					
						
							|  |  |  | 		// translators
 | 
					
						
							|  |  |  | 		return Q.all([loadZoteroPane().then(function(w) { | 
					
						
							| 
									
										
										
										
											2015-03-08 15:59:53 -04:00
										 |  |  | 			win = w; | 
					
						
							| 
									
										
										
										
											2015-03-09 17:06:01 -04:00
										 |  |  | 		}), installPDFTools()]); | 
					
						
							| 
									
										
										
										
											2015-03-08 15:59:53 -04:00
										 |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2015-03-08 18:40:29 -04:00
										 |  |  | 	afterEach(function() { | 
					
						
							|  |  |  | 		for(let win of getWindows("chrome://zotero/content/pdfProgress.xul")) { | 
					
						
							|  |  |  | 			win.close(); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2015-03-08 15:59:53 -04:00
										 |  |  | 	after(function() { | 
					
						
							|  |  |  | 		win.close(); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	it("should recognize a PDF with a DOI", function() { | 
					
						
							|  |  |  | 		this.timeout(30000); | 
					
						
							|  |  |  | 		// Import the PDF
 | 
					
						
							|  |  |  | 		var testdir = getTestDataDirectory(); | 
					
						
							|  |  |  | 		testdir.append("recognizePDF_test_DOI.pdf"); | 
					
						
							|  |  |  | 		var id = Zotero.Attachments.importFromFile(testdir); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// Recognize the PDF
 | 
					
						
							|  |  |  | 		win.ZoteroPane.selectItem(id); | 
					
						
							|  |  |  | 		win.Zotero_RecognizePDF.recognizeSelected(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return waitForItemEvent("add").then(function(ids) { | 
					
						
							|  |  |  | 			var item = Zotero.Items.get(ids[0]); | 
					
						
							|  |  |  | 			assert.equal(item.getField("title"), "Shaping the Research Agenda"); | 
					
						
							|  |  |  | 			assert.equal(item.getField("libraryCatalog"), "CrossRef"); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2015-03-08 16:20:57 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	it("should recognize a PDF without a DOI", function() { | 
					
						
							|  |  |  | 		this.timeout(30000); | 
					
						
							|  |  |  | 		// Import the PDF
 | 
					
						
							|  |  |  | 		var testdir = getTestDataDirectory(); | 
					
						
							|  |  |  | 		testdir.append("recognizePDF_test_GS.pdf"); | 
					
						
							|  |  |  | 		var id = Zotero.Attachments.importFromFile(testdir); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// Recognize the PDF
 | 
					
						
							|  |  |  | 		win.ZoteroPane.selectItem(id); | 
					
						
							|  |  |  | 		win.Zotero_RecognizePDF.recognizeSelected(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return waitForItemEvent("add").then(function(ids) { | 
					
						
							|  |  |  | 			var item = Zotero.Items.get(ids[0]); | 
					
						
							|  |  |  | 			assert.equal(item.getField("title"), "Scaling study of an improved fermion action on quenched lattices"); | 
					
						
							|  |  |  | 			assert.equal(item.getField("libraryCatalog"), "Google Scholar"); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2015-03-08 15:59:53 -04:00
										 |  |  | }); |