#!/usr/bin/env ruby
# $Id: tc_ext_newpage.rb,v 1.2 2004/05/12 10:42:27 eto Exp $
# Copyright (C) 2003-2004 Kouichirou Eto, All rights reserved.
# This is free software with ABSOLUTELY NO WARRANTY.
# You can redistribute it and/or modify it under the terms of the GNU GPL2.

require "test_common"

class TC_NewPage < Test::Unit::TestCase
  include TestSession

  def test_newpage
    @site.member.add("test@example.com")
    page = @site["SiteConfig"]
    page.store(":open:true")

    @req.cookies["user"] = nil
    @req.cookies["pass"] = nil
    @req.parse_host_path("qwik.jp", "/test/")
    @session = Qwik::Session.new(@config, @memory, @req, @res)
    @session.run
    xml = @res.body
    assert_equal("FrontPage - qwik.jp/test", xml.elements["//title"].text)
    assert_equal("user", xml.elements["//input"].attribute("name").to_s)

    @req.parse_host_path("qwik.jp", "/test/NewPage.html")
    @session.run
    xml = @res.body
    assert_equal("NewPage - qwik.jp/test", xml.elements["//title"].text)
    assert_equal("新規作成には、このWikiサイトのメンバーである必要があります。", xml.elements["//h3"].text)

    @req.cookies["user"] = "test@example.com"
    @req.cookies["pass"] = "ABAB4B32"
    @session.run
    xml = @res.body
#    puts xml.to_xhtml(0).u8tosjis
    assert_equal("NewPage - qwik.jp/test", xml.elements["//title"].text)
    assert_equal("page", xml.elements["//input"].attribute("name").to_s)

    @req.query["t"] = "テストページ"
    @session.run
    xml = @res.body
#    puts xml.to_xhtml(0).u8tosjis
    assert_equal("NewPage - qwik.jp/test", xml.elements["//title"].text)
    assert_equal("新規ページを作成しました", xml.elements['//[@class="section"]//p'].text)

#    @req.query["user"] = nil
#    @req.query["pass"] = nil
    
#    assert_equal("mail", xml.elements["//input"].attribute("name").to_s)

#    xml = @session.xml
#    assert_equal("新規作成には、このWikiサイトのメンバーである必要があります。", xml.elements["//h3"].text)

#    body = @res.body
#    puts body.u8tosjis

#    @req.parse_host_path("qwik.jp", "/test/NewPage.html")
#    @session = Qwik::Session.new(@config, @memory, @req, @res)
#    @session.run
#    xml = @session.xml
#    assert_equal("新規作成には、このWikiサイトのメンバーである必要があります。", xml.elements["//h3"].text)

#    assert_equal("LogOut - qwik.jp/test", xml.elements["//title"].text)
#    assert_equal("LogOut.html", xml.elements["//form"].attribute("action").to_s)
  end
end
