phantomjs-binaries 1.8.0 → 1.8.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/modules/colorizer.js DELETED
@@ -1,130 +0,0 @@
1
- /*!
2
- * Casper is a navigation utility for PhantomJS.
3
- *
4
- * Documentation: http://casperjs.org/
5
- * Repository: http://github.com/n1k0/casperjs
6
- *
7
- * Copyright (c) 2011-2012 Nicolas Perriault
8
- *
9
- * Part of source code is Copyright Joyent, Inc. and other Node contributors.
10
- *
11
- * Permission is hereby granted, free of charge, to any person obtaining a
12
- * copy of this software and associated documentation files (the "Software"),
13
- * to deal in the Software without restriction, including without limitation
14
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15
- * and/or sell copies of the Software, and to permit persons to whom the
16
- * Software is furnished to do so, subject to the following conditions:
17
- *
18
- * The above copyright notice and this permission notice shall be included
19
- * in all copies or substantial portions of the Software.
20
- *
21
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
- * DEALINGS IN THE SOFTWARE.
28
- *
29
- */
30
-
31
- /*global exports console require*/
32
-
33
- var fs = require('fs');
34
- var utils = require('utils');
35
-
36
- exports.create = function create(type) {
37
- "use strict";
38
- if (!type) {
39
- return;
40
- }
41
- if (!(type in exports)) {
42
- throw new Error(utils.format('Unsupported colorizer type "%s"', type));
43
- }
44
- return new exports[type]();
45
- };
46
-
47
- /**
48
- * This is a port of lime colorizer.
49
- * http://trac.symfony-project.org/browser/tools/lime/trunk/lib/lime.php
50
- *
51
- * (c) Fabien Potencier, Symfony project, MIT license
52
- */
53
- var Colorizer = function Colorizer() {
54
- "use strict";
55
- var options = { bold: 1, underscore: 4, blink: 5, reverse: 7, conceal: 8 };
56
- var foreground = { black: 30, red: 31, green: 32, yellow: 33, blue: 34, magenta: 35, cyan: 36, white: 37 };
57
- var background = { black: 40, red: 41, green: 42, yellow: 43, blue: 44, magenta: 45, cyan: 46, white: 47 };
58
- var styles = {
59
- 'ERROR': { bg: 'red', fg: 'white', bold: true },
60
- 'INFO': { fg: 'green', bold: true },
61
- 'TRACE': { fg: 'green', bold: true },
62
- 'PARAMETER': { fg: 'cyan' },
63
- 'COMMENT': { fg: 'yellow' },
64
- 'WARNING': { fg: 'red', bold: true },
65
- 'GREEN_BAR': { fg: 'white', bg: 'green', bold: true },
66
- 'RED_BAR': { fg: 'white', bg: 'red', bold: true },
67
- 'INFO_BAR': { bg: 'cyan', fg: 'white', bold: true },
68
- 'WARN_BAR': { bg: 'yellow', fg: 'white', bold: true }
69
- };
70
-
71
- /**
72
- * Adds a style to provided text.
73
- *
74
- * @param String text
75
- * @param String styleName
76
- * @return String
77
- */
78
- this.colorize = function colorize(text, styleName, pad) {
79
- if (fs.isWindows() || !(styleName in styles)) {
80
- return text;
81
- }
82
- return this.format(text, styles[styleName], pad);
83
- };
84
-
85
- /**
86
- * Formats a text using a style declaration object.
87
- *
88
- * @param String text
89
- * @param Object style
90
- * @return String
91
- */
92
- this.format = function format(text, style, pad) {
93
- if (fs.isWindows() || !utils.isObject(style)) {
94
- return text;
95
- }
96
- var codes = [];
97
- if (style.fg && foreground[style.fg]) {
98
- codes.push(foreground[style.fg]);
99
- }
100
- if (style.bg && background[style.bg]) {
101
- codes.push(background[style.bg]);
102
- }
103
- for (var option in options) {
104
- if (style[option] === true) {
105
- codes.push(options[option]);
106
- }
107
- }
108
- // pad
109
- if (typeof pad === "number" && text.length < pad) {
110
- text += new Array(pad - text.length + 1).join(' ');
111
- }
112
- return "\u001b[" + codes.join(';') + 'm' + text + "\u001b[0m";
113
- };
114
- };
115
- exports.Colorizer = Colorizer;
116
-
117
- /**
118
- * Dummy colorizer. Does basically nothing.
119
- *
120
- */
121
- var Dummy = function Dummy() {
122
- "use strict";
123
- this.colorize = function colorize(text, styleName, pad) {
124
- return text;
125
- };
126
- this.format = function format(text, style, pad){
127
- return text;
128
- };
129
- };
130
- exports.Dummy = Dummy;
data/modules/events.js DELETED
@@ -1,259 +0,0 @@
1
- // Copyright Joyent, Inc. and other Node contributors.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a
4
- // copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to permit
8
- // persons to whom the Software is furnished to do so, subject to the
9
- // following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be included
12
- // in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- /*global CasperError*/
23
-
24
- var isArray = Array.isArray;
25
-
26
- function EventEmitter() {
27
- this._filters = {};
28
- }
29
- exports.EventEmitter = EventEmitter;
30
-
31
- // By default EventEmitters will print a warning if more than
32
- // 10 listeners are added to it. This is a useful default which
33
- // helps finding memory leaks.
34
- //
35
- // Obviously not all Emitters should be limited to 10. This function allows
36
- // that to be increased. Set to zero for unlimited.
37
- var defaultMaxListeners = 10;
38
- EventEmitter.prototype.setMaxListeners = function(n) {
39
- if (!this._events) this._events = {};
40
- this._maxListeners = n;
41
- };
42
-
43
-
44
- EventEmitter.prototype.emit = function() {
45
- var type = arguments[0];
46
- // If there is no 'error' event listener then throw.
47
- if (type === 'error') {
48
- if (!this._events || !this._events.error ||
49
- (isArray(this._events.error) && !this._events.error.length))
50
- {
51
- if (arguments[1] instanceof Error) {
52
- throw arguments[1]; // Unhandled 'error' event
53
- } else {
54
- throw new CasperError("Uncaught, unspecified 'error' event.");
55
- }
56
- }
57
- }
58
-
59
- if (!this._events) return false;
60
- var handler = this._events[type];
61
- if (!handler) return false;
62
-
63
- if (typeof handler == 'function') {
64
- switch (arguments.length) {
65
- // fast cases
66
- case 1:
67
- handler.call(this);
68
- break;
69
- case 2:
70
- handler.call(this, arguments[1]);
71
- break;
72
- case 3:
73
- handler.call(this, arguments[1], arguments[2]);
74
- break;
75
- // slower
76
- default:
77
- var l = arguments.length;
78
- var args = new Array(l - 1);
79
- for (var i = 1; i < l; i++) args[i - 1] = arguments[i];
80
- handler.apply(this, args);
81
- }
82
- return true;
83
-
84
- } else if (isArray(handler)) {
85
- var l = arguments.length;
86
- var args = new Array(l - 1);
87
- for (var i = 1; i < l; i++) args[i - 1] = arguments[i];
88
-
89
- var listeners = handler.slice();
90
- for (var i = 0, l = listeners.length; i < l; i++) {
91
- listeners[i].apply(this, args);
92
- }
93
- return true;
94
-
95
- } else {
96
- return false;
97
- }
98
- };
99
-
100
- // EventEmitter is defined in src/node_events.cc
101
- // EventEmitter.prototype.emit() is also defined there.
102
- EventEmitter.prototype.addListener = function(type, listener) {
103
- if ('function' !== typeof listener) {
104
- throw new CasperError('addListener only takes instances of Function');
105
- }
106
-
107
- if (!this._events) this._events = {};
108
-
109
- // To avoid recursion in the case that type == "newListeners"! Before
110
- // adding it to the listeners, first emit "newListeners".
111
- this.emit('newListener', type, listener);
112
-
113
- if (!this._events[type]) {
114
- // Optimize the case of one listener. Don't need the extra array object.
115
- this._events[type] = listener;
116
- } else if (isArray(this._events[type])) {
117
-
118
- // If we've already got an array, just append.
119
- this._events[type].push(listener);
120
-
121
- // Check for listener leak
122
- if (!this._events[type].warned) {
123
- var m;
124
- if (this._maxListeners !== undefined) {
125
- m = this._maxListeners;
126
- } else {
127
- m = defaultMaxListeners;
128
- }
129
-
130
- if (m && m > 0 && this._events[type].length > m) {
131
- this._events[type].warned = true;
132
- console.error('(node) warning: possible EventEmitter memory ' +
133
- 'leak detected. %d listeners added. ' +
134
- 'Use emitter.setMaxListeners() to increase limit.',
135
- this._events[type].length);
136
- console.trace();
137
- }
138
- }
139
- } else {
140
- // Adding the second element, need to change to array.
141
- this._events[type] = [this._events[type], listener];
142
- }
143
-
144
- return this;
145
- };
146
-
147
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
148
-
149
- EventEmitter.prototype.once = function(type, listener) {
150
- if ('function' !== typeof listener) {
151
- throw new CasperError('.once only takes instances of Function');
152
- }
153
-
154
- var self = this;
155
- function g() {
156
- self.removeListener(type, g);
157
- listener.apply(this, arguments);
158
- };
159
-
160
- g.listener = listener;
161
- self.on(type, g);
162
-
163
- return this;
164
- };
165
-
166
- EventEmitter.prototype.removeListener = function(type, listener) {
167
- if ('function' !== typeof listener) {
168
- throw new CasperError('removeListener only takes instances of Function');
169
- }
170
-
171
- // does not use listeners(), so no side effect of creating _events[type]
172
- if (!this._events || !this._events[type]) return this;
173
-
174
- var list = this._events[type];
175
-
176
- if (isArray(list)) {
177
- var position = -1;
178
- for (var i = 0, length = list.length; i < length; i++) {
179
- if (list[i] === listener ||
180
- (list[i].listener && list[i].listener === listener))
181
- {
182
- position = i;
183
- break;
184
- }
185
- }
186
-
187
- if (position < 0) return this;
188
- list.splice(position, 1);
189
- if (list.length == 0)
190
- delete this._events[type];
191
- } else if (list === listener ||
192
- (list.listener && list.listener === listener))
193
- {
194
- delete this._events[type];
195
- }
196
-
197
- return this;
198
- };
199
-
200
- EventEmitter.prototype.removeAllListeners = function(type) {
201
- if (arguments.length === 0) {
202
- this._events = {};
203
- return this;
204
- }
205
-
206
- // does not use listeners(), so no side effect of creating _events[type]
207
- if (type && this._events && this._events[type]) this._events[type] = null;
208
- return this;
209
- };
210
-
211
- EventEmitter.prototype.listeners = function(type) {
212
- if (!this._events) this._events = {};
213
- if (!this._events[type]) this._events[type] = [];
214
- if (!isArray(this._events[type])) {
215
- this._events[type] = [this._events[type]];
216
- }
217
- return this._events[type];
218
- };
219
-
220
- // Added for CasperJS: filters a value attached to an event
221
- EventEmitter.prototype.filter = function() {
222
- var type = arguments[0];
223
- if (!this._filters) {
224
- this._filters = {};
225
- return;
226
- }
227
-
228
- var filter = this._filters[type];
229
- if (typeof filter !== 'function') {
230
- return;
231
- }
232
- return filter.apply(this, Array.prototype.splice.call(arguments, 1));
233
- };
234
-
235
- EventEmitter.prototype.removeAllFilters = function(type) {
236
- if (arguments.length === 0) {
237
- this._filters = {};
238
- return this;
239
- }
240
- if (type && this._filters && this._filters[type]) {
241
- this._filters[type] = null;
242
- }
243
- return this;
244
- };
245
-
246
- EventEmitter.prototype.setFilter = function(type, filterFn) {
247
- if (!this._filters) {
248
- this._filters = {};
249
- }
250
- if ('function' !== typeof filterFn) {
251
- throw new CasperError('setFilter only takes instances of Function');
252
- }
253
- if (!this._filters[type]) {
254
- this._filters[type] = filterFn;
255
- return true;
256
- }
257
- // TODO: process multiple filters? in which order? disallow?
258
- return false;
259
- };
data/modules/http.js DELETED
@@ -1,70 +0,0 @@
1
- /*!
2
- * Casper is a navigation utility for PhantomJS.
3
- *
4
- * Documentation: http://casperjs.org/
5
- * Repository: http://github.com/n1k0/casperjs
6
- *
7
- * Copyright (c) 2011-2012 Nicolas Perriault
8
- *
9
- * Part of source code is Copyright Joyent, Inc. and other Node contributors.
10
- *
11
- * Permission is hereby granted, free of charge, to any person obtaining a
12
- * copy of this software and associated documentation files (the "Software"),
13
- * to deal in the Software without restriction, including without limitation
14
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15
- * and/or sell copies of the Software, and to permit persons to whom the
16
- * Software is furnished to do so, subject to the following conditions:
17
- *
18
- * The above copyright notice and this permission notice shall be included
19
- * in all copies or substantial portions of the Software.
20
- *
21
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
- * DEALINGS IN THE SOFTWARE.
28
- *
29
- */
30
-
31
- var utils = require('utils');
32
-
33
- /*
34
- * Building an Array subclass
35
- */
36
- function responseHeaders(){}
37
- responseHeaders.prototype = [];
38
-
39
- /**
40
- * Retrieves a given header based on its name
41
- *
42
- * @param String name A case-insensitive response header name
43
- * @return mixed A header string or `null` if not found
44
- */
45
- responseHeaders.prototype.get = function get(name){
46
- "use strict";
47
- var headerValue = null;
48
- name = name.toLowerCase();
49
- this.some(function(header){
50
- if (header.name.toLowerCase() === name){
51
- headerValue = header.value;
52
- return true;
53
- }
54
- });
55
- return headerValue;
56
- };
57
-
58
- /**
59
- * Augment the response with proper prototypes
60
- *
61
- * @param mixed response Phantom response or undefined (generally with local files)
62
- */
63
- exports.augmentResponse = function(response) {
64
- "use strict";
65
- /*jshint proto:true*/
66
- if (!utils.isHTTPResource(response)) {
67
- return;
68
- }
69
- response.headers.__proto__ = responseHeaders.prototype;
70
- };