55 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | "use strict"; | ||
|  | 
 | ||
|  | describe("Note Editor", function () { | ||
|  | 	var win, zp; | ||
|  | 	 | ||
|  | 	before(function* () { | ||
|  | 		win = yield loadZoteroPane(); | ||
|  | 		zp = win.ZoteroPane; | ||
|  | 	}); | ||
|  | 	 | ||
|  | 	after(function () { | ||
|  | 		win.close(); | ||
|  | 	}); | ||
|  | 	 | ||
|  | 	describe("Tags box", function () { | ||
|  | 		it("should open new row for editing if no tags", function* () { | ||
|  | 			var note = yield createDataObject('item', { itemType: 'note' }); | ||
|  | 			var noteEditor = win.document.getElementById('zotero-note-editor'); | ||
|  | 			var linksBox = noteEditor._id('links-box'); | ||
|  | 			linksBox.tagsClick(); | ||
|  | 			var tagsBox = linksBox.id('tagsPopup').firstChild; | ||
|  | 			var tagRows = tagsBox.id('tagRows'); | ||
|  | 			assert.equal(tagRows.childNodes.length, 1); | ||
|  | 		}); | ||
|  | 		 | ||
|  | 		it("should only open one new row for editing", function* () { | ||
|  | 			var note = yield createDataObject('item', { itemType: 'note' }); | ||
|  | 			var noteEditor = win.document.getElementById('zotero-note-editor'); | ||
|  | 			var linksBox = noteEditor._id('links-box'); | ||
|  | 			linksBox.tagsClick(); | ||
|  | 			// Close and reopen
 | ||
|  | 			linksBox.id('tagsPopup').hidePopup(); | ||
|  | 			linksBox.tagsClick(); | ||
|  | 			 | ||
|  | 			// Should still be only one empty row
 | ||
|  | 			var tagsBox = linksBox.id('tagsPopup').firstChild; | ||
|  | 			var tagRows = tagsBox.id('tagRows'); | ||
|  | 			assert.equal(tagRows.childNodes.length, 1); | ||
|  | 		}); | ||
|  | 		 | ||
|  | 		it("should show tags in alphabetical order", function* () { | ||
|  | 			var note = new Zotero.Item('note'); | ||
|  | 			note.addTag('B'); | ||
|  | 			yield note.saveTx(); | ||
|  | 			note.addTag('A'); | ||
|  | 			note.addTag('C'); | ||
|  | 			yield note.saveTx(); | ||
|  | 			 | ||
|  | 			var noteEditor = win.document.getElementById('zotero-note-editor'); | ||
|  | 			var linksBox = noteEditor._id('links-box'); | ||
|  | 			assert.equal(linksBox.id('tags').summary, "A, B, C"); | ||
|  | 		}); | ||
|  | 	}); | ||
|  | }); |