def test_two(self): data = model.DummyTableData([ ['id', 'Id'], ['name', 'Given Name'], ], [ ['1', 'John Smith'], ['2', 'Eve Adams'], ]) self.assertEqual( data.to_jsonable(), { 'active_columns': ['id', 'name'], 'column_map': { 'id': 'Id', 'name': 'Given Name', }, 'data': [ { 'id': '1', 'name': 'John Smith' }, { 'id': '2', 'name': 'Eve Adams' }, ], 'css': {}, })
def test_basic_table_contents(self): data = model.DummyTableData([ ['id', 'Id'], ['name', 'Given Name'], ], [ ['1', 'John Smith'], ['2', 'Eve Adams'], ]) result = engine.execute('nunja.molds/table', data=data.to_jsonable()) self.assertEqual( result, '<div data-nunja="nunja.molds/table">\n' '<table class="">\n' ' <thead>\n' ' <tr class="">\n' ' <td>Id</td><td>Given Name</td>\n' ' </tr>\n' ' </thead>\n' ' <tbody>\n' ' <tr class="">\n' ' <td>1</td><td>John Smith</td>\n' ' </tr><tr class="">\n' ' <td>2</td><td>Eve Adams</td>\n' ' </tr>\n' ' </tbody>\n' '</table>\n' '</div>')
def test_basic(self): data = model.DummyTableData([], []) self.assertEqual(data.to_jsonable(), { 'active_columns': [], 'column_map': {}, 'data': [], 'css': {}, })
def test_jsonld_id(self): data = model.DummyTableData( [ ['@id', ''], # human readable can be empty ['name', 'Name'], ['desc', 'Description'], ['size', 'Size'], ], [ [ 'http://example.com/documents', 'documents', 'My Documents', '9' ], [ 'http://example.com/pictures', 'pictures', 'My Pictures', '43' ], ['http://example.com/videos', 'videos', 'My Videos', '0'], ]) self.assertEqual( data.to_jsonable(), { 'active_columns': ['name', 'desc', 'size'], 'column_map': { 'name': 'Name', 'desc': 'Description', 'size': 'Size', }, 'data': [ { 'size': '9', '@id': 'http://example.com/documents', 'name': 'documents', 'desc': 'My Documents' }, { 'size': '43', '@id': 'http://example.com/pictures', 'name': 'pictures', 'desc': 'My Pictures' }, { 'size': '0', '@id': 'http://example.com/videos', 'name': 'videos', 'desc': 'My Videos' }, ], 'css': {}, })
def test_one(self): data = model.DummyTableData([['ID', 'Identifier']], [ ['1'], ['2'], ]) self.assertEqual( data.to_jsonable(), { 'active_columns': ['ID'], 'column_map': { 'ID': 'Identifier', }, 'data': [ { 'ID': '1' }, { 'ID': '2' }, ], 'css': {}, })
def test_basic_navtable_contents(self): data = model.DummyTableData([ ['@id', ''], ['name', 'Name'], ['desc', 'Description'], ['size', 'Size'], ], [ ['http://example.com/documents', 'documents', 'My Documents', '9'], ['http://example.com/pictures', 'pictures', 'My Pictures', '43'], ['http://example.com/videos', 'videos', 'My Videos', '0'], ['', 'file', 'A File', '100'], ]) result = self.engine.execute('nunja.molds/navtable', data=data.to_jsonable()) self.assertEqual( result, '<div data-nunja="nunja.molds/navtable">\n' '<table class="">\n' ' <thead>\n' ' <tr class="">\n' ' <td>Name</td><td>Description</td><td>Size</td>\n' ' </tr>\n' ' </thead>\n' ' <tbody>\n' ' <tr class="">\n' ' <td><a href="http://example.com/documents">documents</a>' '</td><td>My Documents</td><td>9</td>\n' ' </tr><tr class="">\n' ' <td><a href="http://example.com/pictures">pictures</a>' '</td><td>My Pictures</td><td>43</td>\n' ' </tr><tr class="">\n' ' <td><a href="http://example.com/videos">videos</a>' '</td><td>My Videos</td><td>0</td>\n' ' </tr><tr class="">\n' ' <td>file</td><td>A File</td><td>100</td>\n' ' </tr>\n' ' </tbody>\n' '</table>\n' '</div>')