diff --git a/make.js b/make.js
index 0c8380c38..861f15deb 100644
--- a/make.js
+++ b/make.js
@@ -199,7 +199,8 @@ target.jsdoc = function() {
var JSDOC_FILES = [
'src/doc_helper.js',
'src/display/api.js',
- 'src/shared/util.js'
+ 'src/shared/util.js',
+ 'src/core/annotation.js'
];
if (test('-d', JSDOC_DIR)) {
diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 65961a4e8..bc95c8968 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -130,6 +130,7 @@
!issue5334.pdf
!issue5549.pdf
!issue5475.pdf
+!annotation-border-styles.pdf
!issue5481.pdf
!issue5567.pdf
!issue5701.pdf
diff --git a/test/pdfs/annotation-border-styles.pdf b/test/pdfs/annotation-border-styles.pdf
new file mode 100644
index 000000000..0eefa6dd9
Binary files /dev/null and b/test/pdfs/annotation-border-styles.pdf differ
diff --git a/test/test_manifest.json b/test/test_manifest.json
index 82327225e..2b7b52e27 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -2201,6 +2201,12 @@
"type": "eq",
"about": "Free image obtained from www.unsplash.com"
},
+ { "id": "annotation-border-styles.pdf",
+ "file": "pdfs/annotation-border-styles.pdf",
+ "md5": "22930fc09c7386e1131b14d936e554af",
+ "rounds": 1,
+ "type": "eq"
+ },
{ "id": "issue5481.pdf",
"file": "pdfs/issue5481.pdf",
"md5": "cf00bd25b15b7e23542b48a626585c36",
diff --git a/test/unit/annotation_layer_spec.js b/test/unit/annotation_layer_spec.js
new file mode 100644
index 000000000..728c59e3d
--- /dev/null
+++ b/test/unit/annotation_layer_spec.js
@@ -0,0 +1,84 @@
+/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
+/* globals expect, it, describe, Dict, AnnotationBorderStyle,
+ AnnotationBorderStyleType */
+
+'use strict';
+
+describe('Annotation layer', function() {
+ describe('AnnotationBorderStyle', function() {
+ it('should set and get a valid width', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setWidth(3);
+
+ expect(borderStyle.width).toEqual(3);
+ });
+
+ it('should not set and get an invalid width', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setWidth('three');
+
+ expect(borderStyle.width).toEqual(1);
+ });
+
+ it('should set and get a valid style', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ var dict = new Dict();
+ dict.name = 'D';
+ borderStyle.setStyle(dict);
+
+ expect(borderStyle.style).toEqual(AnnotationBorderStyleType.DASHED);
+ });
+
+ it('should not set and get an invalid style', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setStyle('Dashed');
+
+ expect(borderStyle.style).toEqual(AnnotationBorderStyleType.SOLID);
+ });
+
+ it('should set and get a valid dash array', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setDashArray([1, 2, 3]);
+
+ expect(borderStyle.dashArray).toEqual([1, 2, 3]);
+ });
+
+ it('should not set and get an invalid dash array', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setDashArray([0, 0]);
+
+ expect(borderStyle.dashArray).toEqual([3]);
+ });
+
+ it('should set and get a valid horizontal corner radius', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setHorizontalCornerRadius(3);
+
+ expect(borderStyle.horizontalCornerRadius).toEqual(3);
+ });
+
+ it('should not set and get an invalid horizontal corner radius',
+ function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setHorizontalCornerRadius('three');
+
+ expect(borderStyle.horizontalCornerRadius).toEqual(0);
+ });
+
+ it('should set and get a valid vertical corner radius', function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setVerticalCornerRadius(3);
+
+ expect(borderStyle.verticalCornerRadius).toEqual(3);
+ });
+
+ it('should not set and get an invalid horizontal corner radius',
+ function() {
+ var borderStyle = new AnnotationBorderStyle();
+ borderStyle.setVerticalCornerRadius('three');
+
+ expect(borderStyle.verticalCornerRadius).toEqual(0);
+ });
+ });
+});
diff --git a/test/unit/unit_test.html b/test/unit/unit_test.html
index 9b43e01a3..9193dbcd7 100644
--- a/test/unit/unit_test.html
+++ b/test/unit/unit_test.html
@@ -56,6 +56,7 @@
+