Blame view

framework/thirdparty/jasmine/src/util.js 1.34 KB
0084d336   Administrator   Importers CRUD
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
  /**
   * @namespace
   */
  jasmine.util = {};
  
  /**
   * Declare that a child class inherit it's prototype from the parent class.
   *
   * @private
   * @param {Function} childClass
   * @param {Function} parentClass
   */
  jasmine.util.inherit = function(childClass, parentClass) {
    /**
     * @private
     */
    var subclass = function() {
    };
    subclass.prototype = parentClass.prototype;
    childClass.prototype = new subclass;
  };
  
  jasmine.util.formatException = function(e) {
    var lineNumber;
    if (e.line) {
      lineNumber = e.line;
    }
    else if (e.lineNumber) {
      lineNumber = e.lineNumber;
    }
  
    var file;
  
    if (e.sourceURL) {
      file = e.sourceURL;
    }
    else if (e.fileName) {
      file = e.fileName;
    }
  
    var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString();
  
    if (file && lineNumber) {
      message += ' in ' + file + ' (line ' + lineNumber + ')';
    }
  
    return message;
  };
  
  jasmine.util.htmlEscape = function(str) {
    if (!str) return str;
    return str.replace(/&/g, '&')
      .replace(/</g, '&lt;')
      .replace(/>/g, '&gt;');
  };
  
  jasmine.util.argsToArray = function(args) {
    var arrayOfArgs = [];
    for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]);
    return arrayOfArgs;
  };
  
  jasmine.util.extend = function(destination, source) {
    for (var property in source) destination[property] = source[property];
    return destination;
  };