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.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.getAnnots = 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.
