diff --git a/.travis.yml b/.travis.yml index 121bac4..a0cc512 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,5 +5,10 @@ rvm: - 2.2.4 - 2.3.0 before_script: + - wget https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-linux64.tar.gz && tar -xzvf geckodriver-v0.16.1-linux64.tar.gz + - mkdir drivers && mv ./geckodriver drivers/ + - export PATH="$PATH:./drivers/" - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" +addons: + firefox: "latest" diff --git a/assets/javascripts/i18n_viz.js b/assets/javascripts/i18n_viz.js index 166030b..a2a26d6 100644 --- a/assets/javascripts/i18n_viz.js +++ b/assets/javascripts/i18n_viz.js @@ -40,13 +40,19 @@ $.fn.enrichWithI18nData = function() { return $i18n_element; }; -$.fn.clearI18nText = function() { - var $el; - $el = $(this); - $el.textNodes().each(function(index, node) { - node.textContent = node.textContent.replace(I18nViz.global_regex, ""); +function clear_i18n(el) { + el.contents().each(function(index, node) { + if (node.nodeType == 3) { + node.textContent = node.textContent.replace(I18nViz.global_regex, ""); + } else { + return clear_i18n($(node)); + } }); - return $el; + return el; +}; + +$.fn.clearI18nText = function myself() { + return clear_i18n($(this)); }; $.extend($.expr[':'], { diff --git a/spec/javascripts/i18n_viz_spec.coffee b/spec/javascripts/i18n_viz_spec.coffee index e2ac2e7..e7a6964 100644 --- a/spec/javascripts/i18n_viz_spec.coffee +++ b/spec/javascripts/i18n_viz_spec.coffee @@ -5,7 +5,7 @@ describe "extractI18nKeysFromText()", () -> it "should return i18n key when 1 present", () -> expect(window.I18nViz.extractI18nKeysFromText("some text --i18n.key--")).toEqual(["i18n.key"]) - it "should return null with no keys present", () -> + it "should return all keys present", () -> expect(window.I18nViz.extractI18nKeysFromText("some text --i18n.key-- more text --another.key-- end")).toEqual(["i18n.key", "another.key"]) it "should return null with no keys present", () -> @@ -24,7 +24,7 @@ describe "jQuery extensions", () -> expect($jquery_element.text()).toEqual("some text ") it "should keep child HTML tags", () -> - $jquery_element.append($("some more text --i18n.key2--")) + $jquery_element.append("some more text --i18n.key2--") $jquery_element.clearI18nText() expect($jquery_element.text()).toEqual("some text some more text ") expect($jquery_element.has('span')).toBeTruthy()