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