Alert: *** Testing Unsupported Methods ***
Alert: PASS: typeof this.addAnnot = function
Alert: PASS: this.addAnnot() = undefined
Alert: PASS: this.addAnnot(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.addField = function
Alert: PASS: this.addField() = undefined
Alert: PASS: this.addField(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.addLink = function
Alert: PASS: this.addLink() = undefined
Alert: PASS: this.addLink(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.closeDoc = function
Alert: PASS: this.closeDoc() = undefined
Alert: PASS: this.closeDoc(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.createDataObject = function
Alert: PASS: this.createDataObject() = undefined
Alert: PASS: this.createDataObject(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.deletePages = function
Alert: PASS: this.deletePages() = undefined
Alert: PASS: this.deletePages(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.exportAsFDF = function
Alert: PASS: this.exportAsFDF() = undefined
Alert: PASS: this.exportAsFDF(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.exportAsText = function
Alert: PASS: this.exportAsText() = undefined
Alert: PASS: this.exportAsText(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.exportAsXFDF = function
Alert: PASS: this.exportAsXFDF() = undefined
Alert: PASS: this.exportAsXFDF(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.extractPages = function
Alert: PASS: this.extractPages() = undefined
Alert: PASS: this.extractPages(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getAnnot3D = function
Alert: PASS: this.getAnnot3D() = undefined
Alert: PASS: this.getAnnot3D(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getAnnots = function
Alert: PASS: this.getAnnots() = undefined
Alert: PASS: this.getAnnots(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getLinks = function
Alert: PASS: this.getLinks() = undefined
Alert: PASS: this.getLinks(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getOCGs = function
Alert: PASS: this.getOCGs() = undefined
Alert: PASS: this.getOCGs(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getPageBox = function
Alert: PASS: this.getPageBox() = undefined
Alert: PASS: this.getPageBox(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.getURL = function
Alert: PASS: this.getURL() = undefined
Alert: PASS: this.getURL(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.importAnFDF = function
Alert: PASS: this.importAnFDF() = undefined
Alert: PASS: this.importAnFDF(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.importAnXFDF = function
Alert: PASS: this.importAnXFDF() = undefined
Alert: PASS: this.importAnXFDF(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.importTextData = function
Alert: PASS: this.importTextData() = undefined
Alert: PASS: this.importTextData(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.insertPages = function
Alert: PASS: this.insertPages() = undefined
Alert: PASS: this.insertPages(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.removeIcon = function
Alert: PASS: this.removeIcon() = undefined
Alert: PASS: this.removeIcon(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.replacePages = function
Alert: PASS: this.replacePages() = undefined
Alert: PASS: this.replacePages(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.saveAs = function
Alert: PASS: this.saveAs() = undefined
Alert: PASS: this.saveAs(1, 2, "clams", [1, 2, 3]) = undefined
Alert: PASS: typeof this.syncAnnotScan = function
Alert: PASS: this.syncAnnotScan() = undefined
Alert: PASS: this.syncAnnotScan(1, 2, "clams", [1, 2, 3]) = undefined
Alert: *** Testing Supported Methods ***
Alert: PASS: typeof this.addIcon = function
Alert: PASS: this.addIcon() threw error Document.addIcon: Incorrect number of parameters passed to function.
Alert: PASS: this.addIcon(1) threw error Document.addIcon: Incorrect number of parameters passed to function.
Alert: PASS: this.addIcon(1, 2, 3) threw error Document.addIcon: Incorrect number of parameters passed to function.
Alert: PASS: this.addIcon("myicon", 3) threw error Document.addIcon: Incorrect parameter type.
Alert: PASS: this.addIcon("myicon", undefined) threw error Document.addIcon: Incorrect parameter type.
Alert: PASS: typeof this.calculateNow = function
Alert: PASS: typeof this.getAnnot = function
Alert: PASS: this.getAnnot() threw error Document.getAnnot: Incorrect number of parameters passed to function.
Alert: PASS: this.getAnnot(0) threw error Document.getAnnot: Incorrect number of parameters passed to function.
Alert: PASS: this.getAnnot(0, "test", 0) threw error Document.getAnnot: Incorrect number of parameters passed to function.
Alert: PASS: typeof this.getField = function
Alert: PASS: this.getField() threw error Document.getField: Incorrect number of parameters passed to function.
Alert: PASS: typeof this.getIcon = function
Alert: PASS: this.getIcon() threw error Document.getIcon: Incorrect number of parameters passed to function.
Alert: PASS: this.getIcon(1, 2) threw error Document.getIcon: Incorrect number of parameters passed to function.
Alert: PASS: typeof this.getNthFieldName = function
Alert: PASS: this.getNthFieldName() threw error Document.getNthFieldName: Incorrect number of parameters passed to function.
Alert: PASS: this.getNthFieldName(-1) threw error Document.getNthFieldName: Incorrect parameter value.
Alert: PASS: typeof this.getPageNthWord = function
Alert: PASS: this.getPageNthWord(0, 0, true, "clams", [1, 2]) = Hello,
Alert: PASS: this.getPageNthWord(-1, 0, true) threw error Document.getPageNthWord: Incorrect parameter value.
Alert: PASS: this.getPageNthWord(6, 0, true) threw error Document.getPageNthWord: Incorrect parameter value.
Alert: PASS: typeof this.getPageNthWordQuads = function
Alert: PASS: typeof this.getPageNumWords = function
Alert: PASS: this.getPageNumWords(0, "clams", [1, 2]) = 2
Alert: PASS: this.getPageNumWords(-1) threw error Document.getPageNumWords: Incorrect parameter value.
Alert: PASS: this.getPageNumWords(6) threw error Document.getPageNumWords: Incorrect parameter value.
Alert: PASS: typeof this.getPrintParams = function
Alert: PASS: typeof this.gotoNamedDest = function
Alert: PASS: this.gotoNamedDest() threw error Document.gotoNamedDest: Incorrect number of parameters passed to function.
Alert: PASS: this.gotoNamedDest(1, 2) threw error Document.gotoNamedDest: Incorrect number of parameters passed to function.
Alert: PASS: typeof this.mailDoc = function
Alert: PASS: typeof this.mailForm = function
Alert: PASS: typeof this.print = function
Alert: PASS: typeof this.removeField = function
Alert: PASS: this.removeField() threw error Document.removeField: Incorrect number of parameters passed to function.
Alert: PASS: typeof this.resetForm = function
Alert: PASS: typeof this.submitForm = function
Alert: PASS: this.submitForm() threw error Document.submitForm: Incorrect number of parameters passed to function.
