def test_stylesheet(self): stylesheet = """ stylesheet StyleSheet { page Selling { section "Selling" { question hasSoldHouse question widgetQuestion widget spinbox default integer { color: #123123 fontsize: 12 widget spinbox } default boolean widget radio } } page Housing { section "Buying" { question name } } } """ default_block = BlockNode([ AST.DefaultWithPropsNode( AST.IntTypeNode(), BlockNode([AST.ColorNode("#123123"), AST.FontSizeNode(12)]), AST.SpinboxNode()), AST.DefaultNode(AST.BoolTypeNode(), AST.RadioNode()) ]) stylesheet_node = AST.StylesheetNode( "StyleSheet", BlockNode([ AST.PageNode( "Selling", BlockNode([ AST.SectionWithDefaultsNode( "Selling", BlockNode([ AST.QuestionNode("hasSoldHouse"), AST.WidgetQuestionNode("widgetQuestion", AST.SpinboxNode()) ]), default_block) ])), AST.PageNode( "Housing", BlockNode([ AST.SectionNode("Buying", BlockNode([AST.QuestionNode("name")])) ])) ])) self.validate_node(self.parse_stylesheet, stylesheet, stylesheet_node)
def test_widget_question(self): self.validate_node(self.parse_question, "question name widget numeric", AST.WidgetQuestionNode("name", AST.NumericNode()))