spec/util_stanza_spec.lua
changeset 11790 39164ea2ab9e
parent 11210 f051394762ff
child 12143 7d6497294d92
equal deleted inserted replaced
11789:b1381e302cab 11790:39164ea2ab9e
   453 				s:maptags(function () end);
   453 				s:maptags(function () end);
   454 			end, "Invalid stanza");
   454 			end, "Invalid stanza");
   455 		end);
   455 		end);
   456 	end);
   456 	end);
   457 
   457 
       
   458 	describe("get_child_with_attr", function ()
       
   459 		local s = st.message({ type = "chat" })
       
   460 			:text_tag("body", "Hello world", { ["xml:lang"] = "en" })
       
   461 			:text_tag("body", "Bonjour le monde", { ["xml:lang"] = "fr" })
       
   462 			:text_tag("body", "Hallo Welt", { ["xml:lang"] = "de" })
       
   463 
       
   464 		it("works", function ()
       
   465 			assert.equal(s:get_child_with_attr("body", nil, "xml:lang", "en"):get_text(), "Hello world");
       
   466 			assert.equal(s:get_child_with_attr("body", nil, "xml:lang", "de"):get_text(), "Hallo Welt");
       
   467 			assert.equal(s:get_child_with_attr("body", nil, "xml:lang", "fr"):get_text(), "Bonjour le monde");
       
   468 			assert.is_nil(s:get_child_with_attr("body", nil, "xml:lang", "FR"));
       
   469 			assert.is_nil(s:get_child_with_attr("body", nil, "xml:lang", "es"));
       
   470 		end);
       
   471 
       
   472 		it("supports normalization", function ()
       
   473 			assert.equal(s:get_child_with_attr("body", nil, "xml:lang", "EN", string.upper):get_text(), "Hello world");
       
   474 			assert.is_nil(s:get_child_with_attr("body", nil, "xml:lang", "ES", string.upper));
       
   475 		end);
       
   476 	end);
       
   477 
   458 	describe("#clone", function ()
   478 	describe("#clone", function ()
   459 		it("works", function ()
   479 		it("works", function ()
   460 			local s = st.message({type="chat"}, "Hello"):reset();
   480 			local s = st.message({type="chat"}, "Hello"):reset();
   461 			local c = st.clone(s);
   481 			local c = st.clone(s);
   462 			assert.same(s, c);
   482 			assert.same(s, c);