Esempio n. 1
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user, method="POST", multipart=True, remote=False) do f %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="POST" accept-charset="UTF8" enctype="multipart/form-data">
</form>
""", t.render(user=User(id=1, name="Ryan", age=20, sex='F')))
Esempio n. 2
0
    def test_form_with_url_and_ignore_multipart_if_method_is_not_POST(self):
        t = Template("""
<%= using form("/user/new", id_="user_new_id", method="GET", multipart=True, remote=False) do f %>
<% end %>
""")
        self.assertEqual(
            """
<form id="user_new_id" action="/user/new" method="GET" accept-charset="UTF8">
</form>
""", t.render())
Esempio n. 3
0
    def test_form_with_url_and_html_id(self):
        t = Template("""
<%= using form("/user/new", method="POST", multipart=True, remote=False, html={"data-index": 10}) do f %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="POST" accept-charset="UTF8" enctype="multipart/form-data" data-index="10">
</form>
""", t.render())
Esempio n. 4
0
    def test_for_tag(self):
        t = Template("""
<%= using form("/user/new", method="POST", multipart=True, remote=False) do f %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="POST" accept-charset="UTF8" enctype="multipart/form-data">
</form>
""", t.render())
Esempio n. 5
0
    def test_if_lines(self):
        t = Template("""<% if x > 10 %>
    Great
<% elif x < 10 %>
    Less
<% else %>
    Equal
<% end %>""")
        self.assertEqual("\n    Great", t.render(x=20))
        self.assertEqual("\n    Equal", t.render(x=10))
        self.assertEqual("\n    Less", t.render(x=5))
Esempio n. 6
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.tel('phone') %>
<% end %>
""")
        self.assertEqual("""
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_phone" name="user['phone']" type="tel" value="13936567656" />
</form>
""", t.render(user=User(phone=13936567656)))
Esempio n. 7
0
    def test_for(self):
        t = Template("""<ul>
<% for (i, u) in enumerate(users) %>
    <li><%= i %>|<%= u.name %>|<%= u.age %></li>
<% end %>
</ul>""")
        self.assertEqual(
            """<ul>
    <li>0|露西|20</li>
    <li>1|Lily|10</li>
</ul>""", t.render(users=self.users))
Esempio n. 8
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.search('name') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_name" name="user['name']" type="search" value="Jon" />
</form>
""", t.render(user=User(name="Jon")))
Esempio n. 9
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.email('email') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_email" name="user['email']" type="email" value="*****@*****.**" />
</form>
""", t.render(user=User(name='Jon', email='*****@*****.**')))
Esempio n. 10
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.number('age') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_age" name="user['age']" type="number" value="20" />
</form>
""", t.render(user=User(name='Jon', age=20)))
Esempio n. 11
0
    def test_for_tag(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.time('created_at') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_created_at" name="user['created_at']" type="time" value="1589945183" />
</form>
""", t.render(user=User(created_at="1589945183")))
Esempio n. 12
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.range('age', _in=[16, 36]) %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_age" name="user['age']" type="range" value="20" min="16" max="36" />
</form>
""", t.render(user=User(age=20)))
Esempio n. 13
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.color('like_color') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_like_color" name="user['like_color']" type="color" value="#FFF" />
</form>
""", t.render(user=User(name="Jon", age=20, like_color="#FFF")))
Esempio n. 14
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.date('birthday') %>
<% end %>
""")
        expected_value = """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_birthday" name="user['birthday']" type="date" value="2019-10-10" />
</form>
"""
        self.assertEqual(expected_value, t.render(user=User(name="Jon", age=20, birthday="2019-10-10")))
        self.assertEqual(expected_value, t.render(user=User(name="Jon", age=20, birthday=date(year=2019, month=10, day=10))))
Esempio n. 15
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.label('name') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <label for="user_name">Name</label>
</form>
""", t.render(user=User(name='Jon')))
Esempio n. 16
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.week("born_week") %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_born_week" name="user['born_week']" type="week" value="34" />
</form>
""", t.render(user=User(born_week=34)))
Esempio n. 17
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.password('password') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_password" name="user['password']" type="password" value="abc123" />
</form>
""", t.render(user=User(name='Jon', password="******")))
Esempio n. 18
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.url('blog_address') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_blog_address" name="user['blog_address']" type="url" value="https://www.ryanpoy.com" />
</form>
""", t.render(user=User(blog_address="https://www.ryanpoy.com")))
Esempio n. 19
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.textarea('intro') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <textarea id="user_intro" name="user['intro']">1111,2222,aaaa,bbbb</textarea>
</form>
""", t.render(user=User(intro="1111,2222,aaaa,bbbb")))
Esempio n. 20
0
    def test_for_model(self):

        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.hidden('id') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_id" name="user['id']" type="hidden" value="10" />
</form>
""", t.render(user=User(name='Jon', id=10)))
Esempio n. 21
0
    def test_for_contains_html(self):
        t = Template("""
<ul>
<% for i in range(3) %>
    <li><%= i %></li>
<% end %>
</ul>""")
        self.assertEqual(
            """
<ul>
    <li>0</li>
    <li>1</li>
    <li>2</li>
</ul>""", t.render())
Esempio n. 22
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.datetime("born_on") %>
<% end %>
""")
        expected_value = """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_born_on" name="user['born_on']" type="datetime-local" value="2020-01-01T00:00:00" />
</form>
"""
        self.assertEqual(
            expected_value,
            t.render(user=User(name="Jon",
                               age=20,
                               born_on=datetime(year=2020, month=1, day=1))))
Esempio n. 23
0
 def test_parse_error_when_has_if_but_not_has_end(self):
     with self.assertRaises(FormatError) as err:
         Template("""<%if x = 10 %>
                     <%=x%>""").render(x=20)
     self.assertEqual(
         "Missing '<% end %>' for '<% if x = 10 %>' on <string> at line 2",
         str(err.exception))
Esempio n. 24
0
    def test_text(self):
        content = """
this is a string 1
this is a string 2
this is a string 3
"""
        self.assertEqual(content, Template(content).render())
Esempio n. 25
0
    def test_for_which_contains_continue_and_continue(self):
        t = Template("""<% for i in range(10) %>
    <% if i == 2 %>
        <% continue %>
    <% end %>
    <%= i %>
    <% if i == 6 %>
        <% break %>
    <% end %>
<% end %>""")
        self.assertEqual("""
    0
    1
    3
    4
    5
    6""", t.render())
Esempio n. 26
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.checkbox('role', value='admin') %>
    <%= f.checkbox('role', value='normal') %>
<% end %>
""")
        self.assertEqual("""
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_role_admin" name="user['role']" type="checkbox" value="admin" checked="checked" />
    <input id="user_role_normal" name="user['role']" type="checkbox" value="normal" />
</form>
""", t.render(user=User(id=1, name="Ryan", age=20, sex='F', role="admin")))

        t = Template("""
<%= using form("/user/new", model=user) do f %>
  <% for choice in ['admin', 'normal'] %>
    <%= f.checkbox('role', choice) %>
  <% end %>
<% end %>
""")
        self.assertEqual("""
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_role_admin" name="user['role']" type="checkbox" value="admin" checked="checked" />
    <input id="user_role_normal" name="user['role']" type="checkbox" value="normal" />
</form>
""", t.render(user=User(id=1, name="Ryan", age=20, sex='F', role="admin")))
Esempio n. 27
0
    def test_for_model(self):
        t = Template("""
<%= using form("/user/new", model=user) do f %>
    <%= f.radio('gender', 'M') %>
    <%= f.radio('gender', 'F') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_gender_M" name="user['gender']" type="radio" value="M" checked="checked" />
    <input id="user_gender_F" name="user['gender']" type="radio" value="F" />
</form>
""", t.render(user=User(gender='M')))

        t = Template("""
<%= using form("/user/new", model=user) do f %>
  <% for choice in ['M', 'F'] %>
    <%= f.radio('gender', choice) %>
  <% end %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_gender_M" name="user['gender']" type="radio" value="M" />
    <input id="user_gender_F" name="user['gender']" type="radio" value="F" checked="checked" />
</form>
""", t.render(user=User(gender='F')))
Esempio n. 28
0
    def test_for_tag(self):

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.label('name') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <label for="name">Name</label>
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.label('name', 'Your Name') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <label for="name">Your Name</label>
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.label('name', class_='small_label') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <label for="name" class="small_label">Name</label>
</form>
""", t.render())
Esempio n. 29
0
    def test_for_tag(self):

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.hidden('tags_list') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="tags_list" name="tags_list" type="hidden" />
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.hidden('token', 'VUBJKB23UIVI1UU1VOBVI@') %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="token" name="token" type="hidden" value="VUBJKB23UIVI1UU1VOBVI@" />
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.hidden('collected_input', html={"onchange": "alert('Input collected!')" }) %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="collected_input" name="collected_input" type="hidden" onchange="alert('Input collected!')" />
</form>
""", t.render())
Esempio n. 30
0
    def test_for_tag(self):

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.week("user_born_week") %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_born_week" name="user_born_week" type="week" />
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.week("user_born_week", "06") %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_born_week" name="user_born_week" type="week" value="06" />
</form>
""", t.render())

        t = Template("""
<%= using form("/user/new") do f %>
    <%= f.week("user_born_week", _min="01") %>
<% end %>
""")
        self.assertEqual(
            """
<form action="/user/new" method="GET" accept-charset="UTF8">
    <input id="user_born_week" name="user_born_week" type="week" min="01" />
</form>
""", t.render())