Ejemplo n.º 1
0
    it('replaceHref', function() {
        var link = '<link rel="stylesheet" href="style/common.css?v=1.0.1" _group="all" />';
        var linkActual = replace.strWithArr(link, patterns);

        var link2 = '<link rel="stylesheet" href="style/index.css" _group="all" />';
        var link2Actual = replace.strWithArr(link2, patterns);

        var doc = _.find(p.manifest, function(item) {
            return (item._group === 'all') && (item._type === 'css') && _.contains(item.rel, P._debug.getRelative(headStaticFile));
        });

        expect(doc._group).to.be('all');
        expect(doc.src).to.eql(['style/common.css', 'style/index.css']);
    });
Ejemplo n.º 2
0
    it('replaceUrl:font', function() {
        var eot = {
            src: 'font/fontawesome-webfont.eot',
            dest: '//img1.cahce.febucdn.com/xxx/font/fontawesome-webfont-a247f4358b.eot',
            rel: ['style/test.css']
        };
        p.updateManifest(eot);

        var woff = {
            src: 'font/fontawesome-webfont.woff',
            dest: '//img1.cahce.febucdn.com/xxx/font/fontawesome-webfont-f84ffa8dd9.woff',
            rel: ['style/test.css']
        };
        p.updateManifest(woff);

        var cssFile = new File({
            base: '/test_project',
            path: '/test_project/style/test.css'
        });
        var patterns = util.getReplacements(p, 'production', cssFile);
        var style = '@font-face {src: url("../font/fontawesome-webfont.eot?#iefix&v=4.6.2") format("embedded-opentype"), url("../font/fontawesome-webfont.woff?v=4.6.2") format("woff")}';
        var expected = '@font-face {src: url("//img1.cahce.febucdn.com/xxx/font/fontawesome-webfont-a247f4358b.eot?#iefix&v=4.6.2") format("embedded-opentype"), url("//img1.cahce.febucdn.com/xxx/font/fontawesome-webfont-f84ffa8dd9.woff?v=4.6.2") format("woff")}';
        var actual = replace.strWithArr(style, patterns);
        expect(actual).to.be(expected);
    });
Ejemplo n.º 3
0
	it('replaceHref', function(){
		var link = '<link rel="stylesheet" href="css/common.css" _group="all">';
		var linkExpected = '<link rel="stylesheet" href="//qa.developer.test.com/f2e/test_project/css/common.css" _group="all">';
		var linkActual = replace.strWithArr(link, patterns);
		expect(linkActual).to.equal(linkExpected);

		var link2 = '<link rel="prev" title="专业破坏队形20年" HREF="http://163pinglun.com/archives/15393" />';
		var link2Actual = replace.strWithArr(link2, patterns);
		expect(link2Actual).to.equal(link2);

		var link3 = '<link rel="stylesheet" href=\'css/common.css\' _group="all">';
		var link3Actual = replace.strWithArr(link3, patterns);
		expect(link3Actual).to.equal(linkExpected);

		var link4 = '<link rel="stylesheet" href=css/common.css _group="all">';
		var link4Actual = replace.strWithArr(link4, patterns);
		expect(link4Actual).to.equal(linkExpected);

		var link5 = '<link rel="stylesheet" _group="all" href="css/common.css" />';
		var link5Expected = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css" />';
		var link5Actual = replace.strWithArr(link5, patterns);
		expect(link5Actual).to.equal(link5Expected);

		var link6 = '<link rel="stylesheet" _group="all" href="css/common.css">';
		var link6Expected = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css">';
		var link6Actual = replace.strWithArr(link6, patterns);
		expect(link6Actual).to.equal(link6Expected);

		var link7 = '<link rel="stylesheet" _group="all" href=css/common.css />';
		var link7Expected = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css" />';
		var link7Actual = replace.strWithArr(link7, patterns);
		expect(link7Actual).to.equal(link7Expected);

		var link8 = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css" />';
		var link8Expected = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css" />';
		var link8Actual = replace.strWithArr(link8, patterns);
		expect(link8Actual).to.equal(link8Expected);

		var link9 = '<link rel="stylesheet" _group="all" href=css/common.css>';
		var link9Expected = '<link rel="stylesheet" _group="all" href="//qa.developer.test.com/f2e/test_project/css/common.css">';
		var link9Actual = replace.strWithArr(link9, patterns);
		expect(link9Actual).to.equal(link9Expected);

		var link10 = '<link rel="stylesheet" _group="all" href="/css/common.css">';
		var link10Actual = replace.strWithArr(link10, patterns);
		expect(link10Actual).to.equal(link10);
	});
Ejemplo n.º 4
0
Strings.prototype.run = function (structure, options) {
  if (_.isPlainObject(structure)) {
    options = structure;
  } else {
    this.structure = structure || this.structure || '';
  }
  return frep.strWithArr(this.structure, this.patterns());
};
Ejemplo n.º 5
0
	it('replaceSrc script', function(){
		var script = '<script src="js/arttemplate.js"></script>';
		var scriptExpected = '<script src="//qa.developer.test.com/f2e/test_project/js/arttemplate.js"></script>';
		var scriptActual = replace.strWithArr(script, patterns);
		expect(scriptActual).to.be(scriptExpected);

		var script2 = '<script SRC="js/arttemplate.js" _group="all"></script>';
		var script2Expected = '<script src="//qa.developer.test.com/f2e/test_project/js/arttemplate.js" _group="all"></script>';
		var script2Actual = replace.strWithArr(script2, patterns);
		expect(script2Actual).to.be(script2Expected);

		var script3 = '<script>alert("test");</script>';
		var script3Actual = replace.strWithArr(script3, patterns);
		expect(script3Actual).to.be(script3);

		var script4 = '<script src=\'js/arttemplate.js\'></script>';
		var script4Expected = '<script src="//qa.developer.test.com/f2e/test_project/js/arttemplate.js"></script>';
		var script4Actual = replace.strWithArr(script4, patterns);
		expect(script4Actual).to.be(script4Expected);

		var script5 = '<script src=""></script>';
		var script5Expected = '<script src=""></script>';
		var script5Actual = replace.strWithArr(script5, patterns);
		expect(script5Actual).to.be(script5Expected);

		var script6 = '<script src="/path/to/test.js"></script>';
		var script6Actual = replace.strWithArr(script6, patterns);
		expect(script6Actual).to.be(script6);

		var script7 = '<script src="$path/to/test.js"></script>';
		var script7Actual = replace.strWithArr(script7, patterns);
		expect(script7Actual).to.be(script7);
	});
Ejemplo n.º 6
0
Archivo: util.js Proyecto: bothyan/febu
 return (file, enc, cb) => {
     file = new File(file);
     if(file.isNull()) {     
         return cb(null, file);      
     }
     
     var replacements = util.getReplacements(obj, env, file);
     file.contents = new Buffer(frep.strWithArr(file.contents.toString(), replacements));
     cb(null, file);
 };
Ejemplo n.º 7
0
fs.readFile(indexAppPath, 'utf8', function (err, data) {
  if (err) {
    return console.error(err);
  }
  var result = replace.strWithArr(data, patterns);
  fs.writeFile(indexDistPath, result, 'utf8', function (err) {
    if (err) {
      return console.error(err);
    }
    console.log('Create ' + indexDistPath);
  });
});
Ejemplo n.º 8
0
exports.headings = function(str) {
  return replace.strWithArr(str, [
    {
      pattern: /^#/gm,
      replacement: '##'
    },
    {
      pattern: /^\s*(`{3})\s*(\S+)?\s*([\s\S]+?)\s*(`{3})\s*(?:\n+|$)/gm,
      replacement: function (match) {
        return match.replace(/^##/gm, '#');
      }
    }
  ]);
};
Ejemplo n.º 9
0
    it('replaceSrc script', function(){
        var script2 = '<script SRC="js/product.js?v=123" _group="all"></script>';
        replace.strWithArr(script2, patterns);

        var script2b = '<script SRC="js/product_two.js?v=11#testhash" _group="all"></script>';
        replace.strWithArr(script2b, patterns);
        
        var doc = _.find(p.manifest, function(item) {
            return (item._group === 'all') && (item._type == 'js') && _.contains(item.rel, P._debug.getRelative(headStaticFile));
        });

        expect(doc._group).to.be('all');
        expect(doc.src).to.eql(['js/product.js', 'js/product_two.js']);

        var script3 = '<script>alert("test");</script>';
        var script3Actual = replace.strWithArr(script3, patterns);
        expect(script3Actual).to.be(script3);

        var script5 = '<script src=""></script>';
        var script5Expected = '<script src=""></script>';
        var script5Actual = replace.strWithArr(script5, patterns);
        expect(script5Actual).to.be(script5Expected);
    });
Ejemplo n.º 10
0
exports.whitespace = function(str) {
  var content = replace.strWithArr(str, [
    {
      // First whitespace
      pattern: /^\s+/,
      replacement: ''
    },
    {
      // Last whitespace
      pattern: /\s+$/,
      replacement: '\n'
    }
  ]);
  content = content.split('\n').join('  \n');
  return content;
};
Ejemplo n.º 11
0
    it('replaceUrl:border-image', function() {
        var resource = {
            src: 'images/banner.jpg',
            dest: '//img1.cahce.febucdn.com/xxx/banner.613971c09b.jpg',
            rel: ['style/test.css']
        };
        p.updateManifest(resource);

        var cssFile = new File({
            base: '/test_project',
            path: '/test_project/style/test.css'
        });
        var patterns = util.getReplacements(p, 'production', cssFile);

        var style = '.nav {border-image: url(../images/banner.jpg);}';
        var expected = '.nav {border-image: url(//img1.cahce.febucdn.com/xxx/banner.613971c09b.jpg);}';
        var actual = replace.strWithArr(style, patterns);
        expect(actual).to.be(expected);
    });
Ejemplo n.º 12
0
      var src = files.map(function(filepath) {
        // Warn on and remove invalid source files (if nonull was set).
        if (!grunt.file.exists(filepath)) {
          grunt.log.warn('Source file "' + filepath + '" not found.');
          return '';
        }
        var content = grunt.file.read(filepath);
        var replacements = options.replacements;

        // Read source files and execute replacement patterns
        if(grunt.util.kindOf(replacements) === 'array' || grunt.util.kindOf(replacements) === 'string') {
          // if string (e.g. '<%= foo.bar.replacements'), coerce to array
          replacements = Array.isArray(replacements) ? replacements : [replacements];
          // If given replacement patterns are an array, use `frep.strWithArr`
          return frep.strWithArr(content, _.flatten(replacements));
        } else if(grunt.util.kindOf(replacements) === 'object') {
          // If given replacement patterns are an object, use `frep.strWithObj`
          return frep.strWithObj(content, replacements);
        } else {
          grunt.log.warn('Replacement patterns must be formatted as an array or object. See github.com/helpers/frep for more info.');
        }
      }).join('');
Ejemplo n.º 13
0
exports.aggressive = function(str) {
  var content = replace.strWithArr(str, [
    {
      // Newlines
      pattern: /[\r\n]+/g,
      replacement: '\n'
    },
    {
      // Not-lists
      pattern: /^\s*([^\*]+)$/gm,
      replacement: '\n$1\n'
    },
    {
      // Headings
      pattern: /^((#{1,6})\s*(.*?)\s*#*\s*(?:\n|$))/gm,
      replacement: '\n$1\n'
    },
    {
      // Headings
      pattern: /^\s+(#.+)/gm,
      replacement: '\n$1'
    },
    {
      // Before fenced code blocks
      pattern: /\s*(`{3}\S+)/gm,
      replacement: '\n\n$1'
    },
    {
      // Blockquotes
      pattern: /^\s*(>.+)/gm,
      replacement: '\n$1\n'
    }
  ]);

  content = content.split('\n').join('  \n');
  return content;
};
Ejemplo n.º 14
0
export default function formatter(text) {
  if (!text) return text
  const { _users, _channels } = this

  let messageReplacementDict = {}
  const replacements = [{
    pattern: urlRegex,
    replacement: (match) => {
      match = match.trim().slice(1, -1)
      if (match.length > 0) {
        const replacement = uuid()
        if (match.charAt(0) == '@' || match.charAt(0) == '#') return `<${match}>`
        let split = match.split('|')
        let label = split.length === 2 ? split[1] : split[0]
        let url = split[0]
        if (!url.match(/^(https?:\/\/)|(mailto:)/)) return match

        messageReplacementDict[replacement] = <InlineLink url={url} label={label} key={replacement} />
        return replacement
      }
      return match
    }
  }, {
    pattern: codeBlockRegex,
    replacement: (match) => {
      match = match.trim().slice(3, -3)
      if (match.length > 0) {
        const replacement = uuid()

        match = match.charAt(0) == '\n' ? match.substring(1) : match

        if (Object.keys(messageReplacementDict).length > 0) {
          match = reparseMatch(match, messageReplacementDict)
        }

        messageReplacementDict[replacement] = <InlineCode key={replacement} block={true} code={match} />
        return replacement
      }
      return match
    }
  }, {
    pattern: codeRegex,
    replacement: (match) => {
      match = match.trim().slice(1, -1)
      if (match.length > 0) {
        const replacement = uuid()

        if (Object.keys(messageReplacementDict).length > 0) {
          match = reparseMatch(match, messageReplacementDict)
        }

        messageReplacementDict[replacement] = <InlineCode key={replacement} code={match} />
        return replacement
      }
      return match
    }
  }, {
    pattern: boldRegex,
    replacement: (match) => {
      match = match.trim().slice(1, -1)
      if (match.length > 0) {
        const replacement = uuid()
        messageReplacementDict[replacement] = <b key={replacement}>{match}</b>
        return replacement
      }
      return match
    }
  }, {
    pattern: italicRegex,
    replacement: match => {
      match = match.trim().slice(1, -1)
      if (match.length > 0) {
        const replacement = uuid()
        messageReplacementDict[replacement] = <i key={replacement}>{match}</i>
        return ` ${replacement}`
      }
      return match
    }
  }, {
    pattern: strikeRegex,
    replacement: match => {
      match = match.trim().slice(1, -1)
      if (match.length > 0) {
        const replacement = uuid()
        messageReplacementDict[replacement] = <em key={replacement}>{match}</em>
        return replacement
      }
      return match
    }
  }, {
    pattern: userOrChannelRegex,
    replacement: match => {
      match = match.trim()
      if (match.length > 0) {
        const replacement = uuid()
        if (match.includes('<@')) {
          const user = match.replace(/<|>|@/g, '')
          if (_users[user]) {
            messageReplacementDict[replacement] = <InlineUser key={replacement} id={user} />
            return replacement
          }
          return match
        } else {
          const [channel] = match.replace(/<|>|#/g, '').split('|')
          if (_channels[channel]) {
            messageReplacementDict[replacement] = <InlineChannel key={replacement} id={channel} />
            return ` ${replacement}`
          }
          return match
        }
      }
      return match
    }
  }, {
    pattern: this._emojiRegex.delimiter,
    replacement: match => {
      const {
        parsed,
        messageReplacementDict: newMessageReplacementDict
      } = matchEmoji.bind(this)(match, messageReplacementDict)
      messageReplacementDict = newMessageReplacementDict
      return parsed
    }
  }]

  const formattedText = unescape(replace.strWithArr(text, replacements))
  if (isEmpty(messageReplacementDict)) return formattedText
  const delimiter = new RegExp(`(${getEscapedKeys(messageReplacementDict)})`, 'g')
  return compact(
    formattedText.split(delimiter).map((word, index) => {
      const [match] = word.match(delimiter) || []
      return match ? (messageReplacementDict[match] || word) : word
    })
  )
}
Ejemplo n.º 15
0
Strings.prototype.process = function (str, arr, context) {
  var parsers = this.parsers(arr);
  var ctx = _.extend({}, this._context, context);
  return frep.strWithArr(str, utils._bind(parsers, ctx));
};
Ejemplo n.º 16
0
exports.frep = function(str) {
  return frep.strWithArr(str, arr);
};
Ejemplo n.º 17
0
 .pipe(es.map(function (file) {
   var expected = findReplace.strWithArr(read(filename), opts.strip);
   expect(String(file.contents)).to.equal(expected);
   done();
 }));
Ejemplo n.º 18
0
    async.forEach(pages, function(file, next) {
      if (page.src !== file.src) {
        return;
      }

      // Get the permalink pattern to use from options.permalinks.structure.
      // If one isn't defined, don't change anything.
      var structure = permalinks.structure;

      // Create a placeholder for page properties.
      var props = [];

      // Convenience variable for YAML front matter.
      var yfm  = file.data;


      /**
       * EXCLUSION PATTERNS OPTION
       * Properties to omit from the config object.
       */
      var exclusions = ['_page', 'data', 'filePair', 'page', 'pageName'];
          exclusions = _.union([], exclusions, permalinks.exclusions || []);


      /**
       * LANGUAGE OPTION
       * Set the default language.
       */
      moment.lang(permalinks.lang || 'en');

      var format = function(d) {
        return moment(yfm.date).format(d);
      };


      /**
       * REPLACEMENT PATTERNS
       * Replacement variables for permalink structure.
       * Format the date from the YAML front matter of a page.
       */
      var datePatterns = [
        // Full date
        {pattern: /:\bdate\b/,      replacement: format(permalinks.dateFormats || "YYYY/MM/DD")},
        // Long date formats
        {pattern: /:\bL\b/,         replacement: format("MM/DD/YYYY")},
        {pattern: /:\b1\b/,         replacement: format("M/D/YYYY")},
        // Year (2013, 13)
        {pattern: /:\byear\b/,      replacement: format("YYYY")},
        {pattern: /:\bYYYY\b/,      replacement: format("YYYY")},
        {pattern: /:\bYY\b/,        replacement: format("YY")},
        // Month name (January, Jan)
        {pattern: /:\bmonthname\b/, replacement: format("MMMM")},
        {pattern: /:\bMMMM\b/,      replacement: format("MMMM")},
        {pattern: /:\bMMM\b/,       replacement: format("MMM")},
        // Month number (1, 01)
        {pattern: /:\bmonth\b/,     replacement: format("MM")},
        {pattern: /:\bMM\b/,        replacement: format("MM")},
        {pattern: /:\bmo\b/,        replacement: format("MM")},
        {pattern: /:\bM\b/,         replacement: format("M")},
        // Day of the year
        {pattern: /:\bDDDD\b/,      replacement: format("DDDD")},
        {pattern: /:\bDDD\b/,       replacement: format("DDD")},
        // Day of the month
        {pattern: /:\bday\b/,       replacement: format("DD")},
        {pattern: /:\bDD\b/,        replacement: format("DD")},
        {pattern: /:\bD\b/,         replacement: format("D")},
        // Day of the week (wednesday/wed)
        {pattern: /:\bdddd\b/,      replacement: format("dddd")},
        {pattern: /:\bddd\b/,       replacement: format("ddd")},
        {pattern: /:\bdd\b/,        replacement: format("dd")},
        {pattern: /:\bd\b/,         replacement: format("d")},
        // Hour
        {pattern: /:\bhour\b/,      replacement: format("HH")},
        {pattern: /:\bHH\b/,        replacement: format("HH")},
        {pattern: /:\bH\b/,         replacement: format("H")},
        {pattern: /:\bhh\b/,        replacement: format("hh")},
        {pattern: /:\bh\b/,         replacement: format("h")},
        // Minute
        {pattern: /:\bminute\b/,    replacement: format("mm")},
        {pattern: /:\bmin\b/,       replacement: format("mm")},
        {pattern: /:\bmm\b/,        replacement: format("mm")},
        {pattern: /:\bm\b/,         replacement: format("m")},
        // Second
        {pattern: /:\bsecond\b/,    replacement: format("ss")},
        {pattern: /:\bsec\b/,       replacement: format("ss")},
        {pattern: /:\bss\b/,        replacement: format("ss")},
        {pattern: /:\bs\b/,         replacement: format("s")},
        // AM/PM, am/pm
        {pattern: /:\bA\b/,         replacement: format("A")},
        {pattern: /:\ba\b/,         replacement: format("a")},
        {pattern: /:\bP\b/,         replacement: format("P")},
        {pattern: /:\bp\b/,         replacement: format("p")},
      ];

      // Ensure that basenames aren't janky
      page.basename = _.slugify(page.basename);


      // Best guesses at some useful patterns
      var specialPatterns = [
        {pattern: /:\bcategory\b/,  replacement: _.slugify(_.first(yfm.categories))}
      ];

      // Push properties on the `page` object into the "props" array
      // so we can use them to dynamically construct replacement patterns
      _.keys(_.omit(page, exclusions)).map(function(key) {
        props.push({pattern: new RegExp(':\\b' + key + '\\b'), replacement: page[key]});
      });

      // Push properties on the `page.data` object into the "props" array
      // so we can use them to dynamically construct replacement patterns
      _.keys(_.omit(yfm, exclusions)).map(function(key) {
        props.push({pattern: new RegExp(':\\b' + key + '\\b'), replacement: _.slugify(yfm[key])});
      });

      // All the replacement patterns contructed from dates, the page obj,
      // and page.data obj.
      var replacements = _.union([], permalinks.patterns || [], datePatterns, props, specialPatterns);


      /**
       * PRESETS
       * Pre-formatted permalink structures. If a preset is defined, append
       * it to the user-defined structure.
       */
      if(permalinks.preset && String(permalinks.preset).length !== 0) {

        // The preset
        var presets = {
          pretty:    path.join((structure || ''), ':basename/index:ext'),
          dayname:   path.join((structure || ''), ':YYYY/:MM/:DD/:basename/index:ext'),
          monthname: path.join((structure || ''), ':YYYY/:MM/:basename/index:ext')
        };
        // Presets are joined to structures, so if a preset is specified, use it.
        structure = String(_.values(_.pick(presets, permalinks.preset)));
      }


      /**
       * CREATE PERMALINKS
       * Construct the permalink string.
       */
      var permalink = frep.strWithArr(structure || page.dest, replacements);



      /**
       * WRITE PERMALINKS
       * Append the permalink to the dest path defined in the target.
       */
      if(_.isUndefined(permalinks.structure) && _.isUndefined(permalinks.preset)) {
        page.dest = page.dest;
        file.dest = file.dest;
      } else {
        if (file.basename === 'index') {
          page.dest = page.dest;
          file.dest = file.dest;
        } else {
          file.dest = Utils.normalizePath(path.join(file.dirname, permalink));
          page.dest = Utils.normalizePath(path.join(page.dirname, permalink));
        }
      }
      file.assets = Utils.calculateAssetsPath(file.dest, originalAssets);
      page.assets = Utils.calculateAssetsPath(page.dest, originalAssets);
      config.context.assets = page.assets;

      grunt.verbose.ok('page'.yellow, page);
      grunt.verbose.ok('page.dest'.yellow, page.dest);
      grunt.verbose.ok('page.assets'.yellow, page.assets);

      grunt.verbose.ok('Generated permalink to:'.yellow, file.dest);
      next();
    });
Ejemplo n.º 19
0
Archivo: md.js Proyecto: Melindrea/verb
exports.format = function(str) {
  return replace.strWithArr(str, patterns);
};
Ejemplo n.º 20
0
	it('replaceSrc media', function(){
		var img = '<img src="images/logo.jpg" alt="">';
		var imgExpected = '<img src="//qa.developer.test.com/f2e/test_project/images/logo.jpg" alt="">';
		var imgActual = replace.strWithArr(img, patterns);
		expect(imgActual).to.be(imgExpected);

		var img2 = '<img SRC="data:image/png;base64,iVBORw0KGgoAAAANSUh" alt="">';
		var img2Actual = replace.strWithArr(img2, patterns);
		expect(img2Actual).to.be(img2);

		var img3 = '<img src=\'images/logo.jpg\' alt="">';
		var img3Expected = '<img src="//qa.developer.test.com/f2e/test_project/images/logo.jpg" alt="">';
		var img3Actual = replace.strWithArr(img3, patterns);
		expect(img3Actual).to.be(img3Expected);

		var img4 = '<img src="images/logo.jpg" alt="" />';
		var img4Expected = '<img src="//qa.developer.test.com/f2e/test_project/images/logo.jpg" alt="" />';
		var img4Actual = replace.strWithArr(img4, patterns);
		expect(img4Actual).to.be(img4Expected);

		var img5 = '<img src="images/logo.jpg"/>';
		var img5Expected = '<img src="//qa.developer.test.com/f2e/test_project/images/logo.jpg"/>';
		var img5Actual = replace.strWithArr(img5, patterns);
		expect(img5Actual).to.be(img5Expected);

		var img6 = '<img src="/images/logo.jpg"/>';
		var img6Actual = replace.strWithArr(img6, patterns);
		expect(img6Actual).to.be(img6);

		var img7 = '<img src="$images/logo.jpg"/>';
		var img7Actual = replace.strWithArr(img7, patterns);
		expect(img7Actual).to.be(img7);

		var audio = '<audio src="song.ogg" controls="controls"> Your browser does not support the audio tag. </audio>';
		var audioExpected = '<audio src="//qa.developer.test.com/f2e/test_project/song.ogg" controls="controls"> Your browser does not support the audio tag. </audio>';
		var audioActual = replace.strWithArr(audio, patterns);
		expect(audioActual).to.be(audioExpected);

		var audio2 = '<audio controls="controls"> <source src="song.ogg" type="audio/ogg"> <source src="song.mp3" type="audio/mpeg"> Your browser does not support the audio tag. </audio>';
		var audio2Expected = '<audio controls="controls"> <source src="//qa.developer.test.com/f2e/test_project/song.ogg" type="audio/ogg"> <source src="//qa.developer.test.com/f2e/test_project/song.mp3" type="audio/mpeg"> Your browser does not support the audio tag. </audio>';
		var audio2Actual = replace.strWithArr(audio, patterns);
		expect(audio2Actual).to.be(audioExpected);

		var video = '<video src="movie.ogg" controls="controls"> </video>';
		var videoExpected = '<video src="//qa.developer.test.com/f2e/test_project/movie.ogg" controls="controls"> </video>';
		var videoActual = replace.strWithArr(video, patterns);
		expect(videoActual).to.be(videoExpected);

		var flash = '<embed src="helloworld.swf">';
		var flashExpected = '<embed src="//qa.developer.test.com/f2e/test_project/helloworld.swf">';
		var flashActual = replace.strWithArr(flash, patterns);
		expect(flashActual).to.be(flashExpected);
	});
Ejemplo n.º 21
0
 it('replaceUrl:sript', function() {
     var script = '<script>var thisUrl = url("?companyId");</script>';
     var actual = replace.strWithArr(script, patterns);
     expect(actual).to.be(script);
 });
Ejemplo n.º 22
0
 it('replaceUrl:border', function() {
     var style = '<style>.nav {border: url("images/p_logo.png");}</style>';
     var expected = '<style>.nav {border: url("//img1.cahce.febucdn.com/xxx/p_logo.a4b5c6e7e8.png");}</style>';
     var actual = replace.strWithArr(style, patterns);
     expect(actual).to.be(expected);
 });
Ejemplo n.º 23
0
	it('replaceData object', function(){
		var object = '<object data="bookmark.swf"></object>';
		var objectExpected = '<object data="//qa.developer.test.com/f2e/test_project/bookmark.swf"></object>';
		var objectActual = replace.strWithArr(object, patterns);
		expect(objectActual).to.be(objectExpected);
	});
Ejemplo n.º 24
0
	it('replaceUrl:background-image (vm variable path)', function() {
		var style = '<style>.nav {background-image: url("$images/nav.png");}</style>';
		var actual = replace.strWithArr(style, patterns);
		expect(actual).to.be(style);
	});
Ejemplo n.º 25
0
 it('replaceHref: absolute path', function() {
     var link = '<link rel="stylesheet" _group="all" href="/css/common.css">';
     var linkActual = replace.strWithArr(link, patterns);
     expect(linkActual).to.equal(link);
 });
Ejemplo n.º 26
0
	it('replaceUrl:border', function() {
		var style = '<style>.nav {border: url("images/nav.png");}</style>';
		var expected = '<style>.nav {border: url("//qa.developer.test.com/f2e/test_project/images/nav.png");}</style>';
		var actual = replace.strWithArr(style, patterns);
		expect(actual).to.be(expected);
	});