Code coverage report for src/Common/Url.js

Statements: 95.24% (20 / 21)      Branches: 75% (3 / 4)      Functions: 100% (9 / 9)      Lines: 100% (20 / 20)      Ignored: none     

All files » src/Common/ » Url.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    1                       1   14   14                 1                   6                   1                   5               1               1                     5   5 5   5 1     4     5                 8           14         1  
'use strict';
 
var _           = require("lodash"),
    UrlParser   = require("./Url/Parser");
 
 
/**
 *
 * @class
 * The Url object
 *
 * @param {[type]} url The Url
 *
 */
var Url = function(url){
 
    url = UrlParser.normalize(url);
 
    var _this = {
 
        /**
         * Tests if the url is absolute
         *
         * @return {Boolean}
         *
         */
        isAbsolute: function(){
            return UrlParser.isAbsolute(url);
        },
 
        /**
         * Gets the baseUrl
         *
         * @return {String}
         *
         */
        baseUrl: function(){
            return UrlParser.baseUrl(url);
        },
 
        /**
         * Gets the protocol
         *
         * @return {String}
         *
         */
        protocol: function(){
            return UrlParser.protocol(url);
        },
 
        /**
         * Gets the path of the url
         *
         * @return {String}
         *
         */
        path: function(){
            return UrlParser.path(url);
        },
 
        /**
         * Gets the file name
         * @return {String}
         */
        filename: function(){
            return UrlParser.filename(url);
        },
 
        /**
         * Gets the file path
         * @return {String}
         */
        filepath: function(){
            return UrlParser.filepath(url);
        },
 
        /**
         * Gets the path of the url
         *
         * @return {String}
         *
         */
        setPath: function(path){
 
            path = UrlParser.normalize(path);
 
            var isAbsolute = UrlParser.isAbsolute(path);
            Iif(isAbsolute){ return false; }
 
            if(path.indexOf("/") === 0){
                url = UrlParser.normalize( _this.baseUrl() + path );
            }
            else{
                url = UrlParser.normalize( _this.baseUrl() + _this.path() + path );
            }
 
            return true;
 
        },
 
        /**
         *
         * @return {[type]} [description]
         */
        toString: function(){
            return UrlParser.normalize(url);
        }
 
    };
 
 
    return _this;
 
};
 
 
module.exports = Url;