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.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.getAnnot = function
Alert: PASS: this.getAnnot() = undefined
Alert: PASS: this.getAnnot(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.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: *** 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.deletePages = 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.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.removeIcon = function
Alert: PASS: this.removeIcon() threw error Document.removeIcon: 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.
