-
Notifications
You must be signed in to change notification settings - Fork 0
/
error.js
138 lines (124 loc) · 3.41 KB
/
error.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/** an error that identifies when we detected pixel scaling */
export class PixelScalingError extends Error {
constructor(msg) {
super(msg || 'pixel scaling detected');
}
}
export class ZoomError extends Error {
constructor(msg) {
super(msg || 'zoom error detected');
}
}
/** an error that identifies when we cannot resize the viewport */
export class ResizeViewportError extends Error {
constructor(msg) {
super(msg || 'unable to resize viewport');
}
}
/** an error that identifies when the user cannot reuse an existing test window
* for whatever they are typing to do.
*/
export class ReuseTestWindow extends Error {
constructor(msg) {
super(msg || 'unable to reuse test window');
}
}
/** an error that identifies that we took a screenshot ok, but
* not of the required size.
*/
export class IncorrectScreenshotSize extends Error {
constructor(msg) {
super(msg || 'wrong size screenshot taken');
}
}
/** an error that identifies that we issues a cmd to the debugger
* but the debugger is not attached.
*/
export class DebuggerDetached extends Error {
constructor(msg) {
super(msg || 'Debugger detached');
}
}
/** an error that identifies we had issues obtaining an active tab */
export class NoActiveTab extends Error {
constructor(msg) {
super(msg || 'The active tab cannot be obtaind.');
}
}
/** an error that identifies we had issues loading the requested test */
export class TestLoadError extends Error {
constructor(msg, testName) {
if (!testName) {
testName = 'The requested test';
} else {
testName = `Test '${testName}'`;
}
if (msg) {
msg = `${testName} could not be loaded: \n\n${msg}.`;
} else {
msg = `${testName} could not be loaded.`;
}
super(msg);
}
}
/** an error that identifies we had issues saving the requested test */
export class TestSaveError extends Error {
constructor(msg, testName) {
if (!testName) {
testName = 'The requested test';
} else {
testName = `Test '${testName}'`;
}
if (msg) {
msg = `${testName} could not be saved: \n\n${msg}.`;
} else {
msg = `${testName} could not be saved.`;
}
super(msg);
}
}
/**
* an error that indicates the user is loading a test from a version of brimstone older than the
* version that reecorded the test
*/
export class InvalidVersion extends Error {
constructor(msg) {
super(msg || 'The test version is newer than the Brimstone version.');
}
}
export class DebuggerAttachError extends Error {
constructor(msg) {
super(msg || 'Cannot attach the debugger.');
}
}
/**
* An error that indicates that we were unable to connect to the frame for messages passing.
*/
export class ConnectionError extends Error {
constructor(msg) {
super(
msg || 'Could not establish connection. Receiving end does not exist.'
);
}
}
/**
* An error that indicats that the user supplied some bad CSS
*/
export class CssError extends Error {
constructor(msg) {
super(msg || 'CSS Error');
}
}
export class RemoteDebuggingPort extends Error {
constructor(msg) {
super(
msg ||
'Could not contact the local remote debugging port. If you enable a remote debnugging port in options, make sure you launch chrome with --remote-debugging-port=<port>'
);
}
}
export class DebuggerSendCommandIsHung extends Error {
constructor(msg) {
super(msg || 'chrome.debugger.sendCommand is hung');
}
}