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()