test_xep0122_field.rb

 1# frozen_string_literal: true
 2
 3require "test_helper"
 4require "xep0122_field"
 5
 6class XEP0122FieldTest < Minitest::Test
 7	def test_field
 8		field = XEP0122Field.new(
 9			"xs:decimal",
10			range: (0..3),
11			var: "v",
12			label: "l",
13			type: "text-single"
14		).field
15
16		example = Nokogiri::XML::Builder.new { |xml|
17			xml.field(
18				xmlns: "jabber:x:data",
19				var: "v",
20				type: "text-single",
21				label: "l"
22			) do
23				xml.validate(
24					xmlns: "http://jabber.org/protocol/xdata-validate",
25					datatype: "xs:decimal"
26				) do
27					xml.range(min: 0, max: 3)
28				end
29			end
30		}
31
32		assert_equal example.doc.root.to_xml, field.to_xml
33	end
34
35	def test_field_no_range
36		field = XEP0122Field.new(
37			"xs:decimal",
38			var: "v",
39			label: "l",
40			type: "text-single"
41		).field
42
43		example = Nokogiri::XML::Builder.new { |xml|
44			xml.field(
45				xmlns: "jabber:x:data",
46				var: "v",
47				type: "text-single",
48				label: "l"
49			) do
50				xml.validate(
51					xmlns: "http://jabber.org/protocol/xdata-validate",
52					datatype: "xs:decimal"
53				) do
54					xml.basic
55				end
56			end
57		}
58
59		assert_equal example.doc.root.to_xml, field.to_xml
60	end
61end