⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_html.cpp

📁 ncbi源码
💻 CPP
字号:
/* * =========================================================================== * PRODUCTION $Log: test_html.cpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:16:09  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.6 * PRODUCTION * =========================================================================== *//*  $Id: test_html.cpp,v 1000.1 2004/06/01 19:16:09 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Author:  Vladimir Ivanov * * File Description:  Play around with the HTML library * */#include <ncbi_pch.hpp>#include <corelib/ncbiapp.hpp>#include <corelib/ncbienv.hpp>#include <html/html.hpp>#include <html/page.hpp>#include <test/test_assert.h>  /* This header must go last */USING_NCBI_SCOPE;/////////////////////////////////// SpecialChars test//static void s_TEST_SpecialChars(void){    CHTMLPage page("Simple test page");     page.AppendChild(new CHTML_nbsp(2));    page.AppendChild(new CHTML_gt);    page.AppendChild(new CHTML_lt);    page.AppendChild(new CHTML_quot);    page.AppendChild(new CHTML_amp);    page.AppendChild(new CHTML_copy);    page.AppendChild(new CHTML_reg);    page.AppendChild(new CHTMLSpecialChar("#177","+/-"));    page.Print(cout, CNCBINode::eHTML);    cout << endl;    page.Print(cout, CNCBINode::ePlainText);    cout << endl;}/////////////////////////////////// Tags test//static void s_TEST_Tags(void){    CNodeRef html, head, body;    html = new CHTML_html;    head = new CHTML_head;    body = new CHTML_body;    html->AppendChild(head);     html->AppendChild(body);     head->AppendChild(          new CHTML_meta(CHTML_meta::eName,"author","I'm"));    head->AppendChild(          new CHTML_meta(CHTML_meta::eHttpEquiv,"refresh","3; URL=www.ru"));    body->AppendChild(          new CHTML_p(new CHTML_i("paragraph")));    body->AppendChild(          new CHTML_img("url","alt"));    body->AppendChild(          new CHTMLDualNode(new CHTML_p("Example1"),"Example1\n"));    body->AppendChild(          new CHTMLDualNode("<p>Example2</p>","Example2\n"));    body->AppendChild(          new CHTML_script("text/javascript","http://localhost/sample.js"));    CHTML_script* script = new CHTML_script("text/vbscript");    script->AppendScript("Place VB1 script here");    script->AppendScript("Place VB2 script here");    body->AppendChild(script);    html->Print(cout);    cout << endl << endl;    html->Print(cout,CNCBINode::ePlainText);    cout << endl;}/////////////////////////////////// Table test//static void s_TEST_Table(void){    cout << endl;    CHTMLPage page("Table test");     CHTML_table* table1 = new CHTML_table;    CHTML_table* table2 = new CHTML_table;    page.AppendChild(table1);    page.AppendChild(new CHTML_br);    page.AppendChild(table2);    table1->SetPlainSeparators("| "," | "," |",'-',CHTML_table::ePrintRowSep);    for ( unsigned row = 0; row < 12; ++row ) {        for ( unsigned col = 0; col < 4; ++col ) {             CHTML_tc* cell = table1->Cell(row, col, CHTML_table::eAnyCell, 1, 1 );             cell->AppendPlainText('@'+NStr::UIntToString(row)+','+NStr::UIntToString(col));        }    }    CHTML_tc* cell;    cell = table2->Cell(0, 0, CHTML_table::eAnyCell, 2, 1 );    cell->AppendPlainText("0,0 - 2x1");    cell = table2->Cell(1, 1, CHTML_table::eAnyCell, 1, 1 );    cell->AppendPlainText("1,1 - 1x1");    cell = table2->Cell(2, 2, CHTML_table::eAnyCell, 1, 1 );    cell->AppendPlainText("2,2 - 1x1");    cell = table2->Cell(4, 1, CHTML_table::eAnyCell, 1, 1 );    cell->AppendPlainText("4,1 - 1x1");    page.Print(cout, CNCBINode::ePlainText);    cout << endl;}////////////////////////////////// Test application//class CTestApplication : public CNcbiApplication{public:    virtual void Init(void);    virtual int  Run (void);};void CTestApplication::Init(void){    // Set error posting and tracing on maximum    SetDiagTrace(eDT_Enable);    SetDiagPostFlag(eDPF_All);    SetDiagPostLevel(eDiag_Info);}int CTestApplication::Run(void){    cout << "---------------------------------------------" << endl;    s_TEST_SpecialChars();    cout << "---------------------------------------------" << endl;    s_TEST_Tags();    cout << "---------------------------------------------" << endl;    s_TEST_Table();    cout << "---------------------------------------------" << endl;    return 0;}  ///////////////////////////////////// APPLICATION OBJECT  and  MAIN//static CTestApplication theTestApplication;int main(int argc, const char* argv[]){    // Execute main application function    return theTestApplication.AppMain(argc, argv, 0, eDS_Default, 0);}/* * =========================================================================== * $Log: test_html.cpp,v $ * Revision 1000.1  2004/06/01 19:16:09  gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.6 * * Revision 1.6  2004/05/17 21:00:08  gorelenk * Added include of PCH ncbi_pch.hpp * * Revision 1.5  2002/04/16 19:05:21  ivanov * Centralize threatment of assert() in tests. * Added #include <test/test_assert.h>. CVS log moved to end of file. * * Revision 1.4  2002/01/17 23:40:28  ivanov * Added test to print HTML tables in plain text mode * * Revision 1.3  2001/08/14 16:59:08  ivanov * Moved test for JavaScript popup menu in individual file "test_jsmenu" * * Revision 1.2  2001/07/16 13:57:43  ivanov * Added test for JavaScript popup menus (CHTMLPopupMenu). * Chanded application skeleton, now it based on CNCBIApplication. * * Revision 1.1  2001/06/08 19:05:27  ivanov * Initialization. Test application for html library * * =========================================================================== */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -