diff --git a/fitnesse/.classpath b/fitnesse/.classpath
new file mode 100644
index 0000000000..e36681ddfb
--- /dev/null
+++ b/fitnesse/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/fitnesse/.project b/fitnesse/.project
new file mode 100644
index 0000000000..f71aadfd6a
--- /dev/null
+++ b/fitnesse/.project
@@ -0,0 +1,17 @@
+
+
+ fitnesse
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/fitnesse/.settings/org.eclipse.jdt.core.prefs b/fitnesse/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..8000cd6ca6
--- /dev/null
+++ b/fitnesse/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/content.txt b/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/content.txt
new file mode 100644
index 0000000000..e32eabce79
--- /dev/null
+++ b/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/content.txt
@@ -0,0 +1,36 @@
+This test is intended to create repeatable test cases for Average Invoice Costing, in order to make a refactor we need to:
+* stabilize current code
+* guarantee that refactoring don't break actual results
+
+Brief description of the tests:
+* login into !-GardenAdmin-!
+* ensure that tenant is configured with avg inv costing
+* create a product (random name/value)
+* create a PO to purchase 50 products with value 10
+* create a material receipt
+* create a matchPO
+* post the matchPO
+* create an invoice
+* post the invoice
+* verify that avg cost=10 and qty=50
+* create a POS sales order for 3 products
+* post the shipment
+* verify that shipment was posted with cost=10
+* verify that avg cost=10 and qty=47
+* create a PO to purchase 10 products with value 11
+* create a material receipt based on the PO
+* check the matchPO created
+* post the matchPO
+* verify that avg cost=10.175438596 and qty=57
+* create an internal use inventory for 2 products
+* post internal use
+* verify that internal use used avg cost=10.175438596
+* verify that avg cost=10.175438596 and qty=55
+
+!include -c .CommonTests.LoginGardenAdmin
+!include -c .CommonTests.ValidateClientSetOnAvgInv
+!include -c .CommonTests.SetRandomName
+!include -c .CommonTests.CreateProduct
+!include -c .CommonTests.CreateProductPrice
+!include -c .CommonTests.CreatePurchaseOrder
+!include -c .CommonTests.CreateMaterialReceipt
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/properties.xml b/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/AvgCostSuite/BasicTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/AvgCostSuite/content.txt b/fitnesse/FitNesseRoot/AvgCostSuite/content.txt
new file mode 100644
index 0000000000..990fb6f9e1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/AvgCostSuite/content.txt
@@ -0,0 +1 @@
+!contents -R2 -g -p -f -h
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/AvgCostSuite/properties.xml b/fitnesse/FitNesseRoot/AvgCostSuite/properties.xml
new file mode 100644
index 0000000000..6e9e1e6e03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/AvgCostSuite/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/content.txt b/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/content.txt
new file mode 100644
index 0000000000..d54a0a7218
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/content.txt
@@ -0,0 +1,32 @@
+Create material receipt
+
+!|Create Record|
+|*Table* |M_InOut |
+|ad_org_id |@AD_Org_ID@ |
+|c_doctype_id |@Ref=C_DocType[Name='MM Receipt'].C_DocType_ID|
+|c_bpartner_id |@c_bpartner.c_bpartner_id@ |
+|c_bpartner_location_id|@Ref=C_BPartner_Location[C_BPartner_ID=@c_bpartner.c_bpartner_id@].C_BPartner_Location_ID |
+|m_warehouse_id |@M_Warehouse_ID@ |
+|salesrep_id |@Ref=AD_User[Name='GardenAdmin'].AD_User_ID |
+|movementtype |V+ |
+|*Save* | |
+
+Create material receipt line
+
+!|Create Record|
+|*Table* |M_InOutLine |
+|m_inout_id |@m_inout.m_inout_id@ |
+|ad_org_id |@m_inout.AD_Org_ID@ |
+|m_product_id|@m_product.M_Product_ID@|
+|qtyentered |50 |
+|c_uom_id |@m_product.c_uom_id@|
+|m_locator_id|@Ref=M_Locator[M_Warehouse_ID=@M_Warehouse_ID@ AND IsDefault='Y'].M_Locator_ID|
+|*Save* | |
+
+Complete the material receipt
+
+!|Run Process|
+|*ProcessValue*|M_InOut Process |
+|*RecordID* |@M_InOut.M_InOut_ID@|
+|*DocAction* |CO |
+|*Run* | |
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/properties.xml b/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateMaterialReceipt/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateProduct/content.txt b/fitnesse/FitNesseRoot/CommonTests/CreateProduct/content.txt
new file mode 100644
index 0000000000..6fd81e75d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateProduct/content.txt
@@ -0,0 +1,8 @@
+!|Create Record|
+|*Table* |M_Product|
+|Name |@RandomName@|
+|Value |@RandomName@|
+|C_UOM_ID |@Ref=C_UOM[Name='Each'].C_UOM_ID|
+|M_Product_Category_ID |@Ref=M_Product_Category[Name='Standard' and AD_Client_ID=@AD_Client_ID@].M_Product_Category_ID|
+|C_TaxCategory_ID |@Ref=C_TaxCategory[Name='Standard' and AD_Client_ID=@AD_Client_ID@].C_TaxCategory_ID|
+|*Save* | |
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateProduct/properties.xml b/fitnesse/FitNesseRoot/CommonTests/CreateProduct/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateProduct/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/content.txt b/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/content.txt
new file mode 100644
index 0000000000..9091de0802
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/content.txt
@@ -0,0 +1,8 @@
+!|Create Record|
+|*Table* |M_ProductPrice|
+|M_PriceList_Version_ID |@Ref=M_PriceList_Version[IsActive='Y' AND M_PriceList_ID=(select m_pricelist_id from m_pricelist where name='Purchase')].M_PriceList_Version_ID|
+|M_Product_ID |@m_product.m_product_id@|
+|PriceLimit | 0 |
+|PriceList | 0 |
+|PriceStd | 0 |
+|*Save* | |
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/properties.xml b/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreateProductPrice/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/content.txt b/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/content.txt
new file mode 100644
index 0000000000..bbe353aa24
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/content.txt
@@ -0,0 +1,41 @@
+Create purchase order
+
+!|Read Record|
+|*Table* |C_BPartner |
+|c_bpartner_id |@Ref=C_BPartner[Name='Patio Fun, Inc.'].c_bpartner_id|
+|*Read* | |
+
+!|Create Record|
+|*Table* |C_Order |
+|ad_org_id |@AD_Org_ID@ |
+|c_doctypetarget_id |@Ref=C_DocType[Name='Purchase Order'].C_DocType_ID|
+|issotrx |N |
+|salesrep_id |@Ref=AD_User[Name='GardenAdmin'].AD_User_ID|
+|c_bpartner_id |@c_bpartner.c_bpartner_id@ |
+|c_bpartner_location_id|@Ref=C_BPartner_Location[C_BPartner_ID=@c_bpartner.c_bpartner_id@].C_BPartner_Location_ID |
+|paymentrule |B |
+|m_warehouse_id |@M_Warehouse_ID@ |
+|m_pricelist_id |@Ref=M_PriceList[Name='Purchase'].M_PriceList_ID |
+|ad_user_id |@Ref=AD_User[Name='GardenAdmin'].AD_User_ID |
+|*Save* | |
+
+Create purchase order line
+
+!|Create Record|
+|*Table* |C_OrderLine |
+|c_order_id |@C_order.c_Order_id@ |
+|ad_org_id |@C_Order.AD_Org_ID@ |
+|m_product_id|@M_Product.M_Product_ID@|
+|qtyentered |50 |
+|qtyordered |50 |
+|priceactual |10 |
+|c_uom_id |@m_product.c_uom_id@|
+|*Save* | |
+
+Complete the purchase order
+
+!|Run Process|
+|*ProcessValue*|C_Order Process |
+|*RecordID* |@C_Order.C_Order_ID@|
+|*DocAction* |CO |
+|*Run* | |
diff --git a/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/properties.xml b/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/CreatePurchaseOrder/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/content.txt b/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/content.txt
new file mode 100644
index 0000000000..6c410c0bcd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/content.txt
@@ -0,0 +1,8 @@
+!|Login|
+|User |GardenAdmin|
+|Password |GardenAdmin|
+|AD_Client_ID|@Ref=AD_Client[Value='GardenWorld'].AD_Client_ID|
+|AD_Role_id |@Ref=AD_Role[Name='GardenWorld Admin'].AD_Role_ID|
+|AD_Org_ID |@Ref=AD_Org[Name='HQ'].AD_Org_ID|
+|M_Warehouse_ID|@Ref=M_Warehouse[Name='HQ Warehouse'].M_Warehouse_ID|
+|*Login* | |
diff --git a/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/properties.xml b/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/LoginGardenAdmin/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/SetRandomName/content.txt b/fitnesse/FitNesseRoot/CommonTests/SetRandomName/content.txt
new file mode 100644
index 0000000000..ebdc288879
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/SetRandomName/content.txt
@@ -0,0 +1,2 @@
+!|Set Variable|
+|@RandomName@ |@random_string(TestAvg-,,4)|
diff --git a/fitnesse/FitNesseRoot/CommonTests/SetRandomName/properties.xml b/fitnesse/FitNesseRoot/CommonTests/SetRandomName/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/SetRandomName/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/content.txt b/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/content.txt
new file mode 100644
index 0000000000..71b077255a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/content.txt
@@ -0,0 +1,2 @@
+!|Assert Variable|
+|I|@SQL=select costingmethod from c_acctschema where c_acctschema_id = (select c_acctschema1_id from ad_clientinfo where ad_client_id=@AD_Client_ID@)|
diff --git a/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/properties.xml b/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/ValidateClientSetOnAvgInv/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/CommonTests/content.txt b/fitnesse/FitNesseRoot/CommonTests/content.txt
new file mode 100644
index 0000000000..99c097c643
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/content.txt
@@ -0,0 +1 @@
+!contents -R2 -g -p -f -h
diff --git a/fitnesse/FitNesseRoot/CommonTests/properties.xml b/fitnesse/FitNesseRoot/CommonTests/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/CommonTests/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/FitNesse/content.txt b/fitnesse/FitNesseRoot/FitNesse/FitNesse/content.txt
new file mode 100644
index 0000000000..c309608b5f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/FitNesse/content.txt
@@ -0,0 +1 @@
+!include UserGuide.FitNesse
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/FitNesse/properties.xml b/fitnesse/FitNesseRoot/FitNesse/FitNesse/properties.xml
new file mode 100644
index 0000000000..f0bbabef9a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/FitNesse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090326123836
+ true
+ true
+ true
+ true
+ true
+ true
+ 1238089116471
+ 3692661061657342165
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/JunkPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/JunkPage/content.txt
new file mode 100644
index 0000000000..9a47abe542
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/JunkPage/content.txt
@@ -0,0 +1,2 @@
+|!style_pass(.)|PageOne|PageTwo|
+|!style_fail(.)|PageOne's Stuff|PageTwo's Stuff|
diff --git a/fitnesse/FitNesseRoot/FitNesse/JunkPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/JunkPage/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/JunkPage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/content.txt
new file mode 100644
index 0000000000..b2eafce76d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/content.txt
@@ -0,0 +1 @@
+This page is read-protected.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/properties.xml
new file mode 100644
index 0000000000..b8c02c1f33
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/ReadProtectedPage/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/content.txt
new file mode 100644
index 0000000000..4f60d20f0f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/content.txt
@@ -0,0 +1 @@
+great grand child page one
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/properties.xml
new file mode 100644
index 0000000000..07ffe0c450
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/GreatGrandChildPageOne/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210017
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/content.txt
new file mode 100644
index 0000000000..1b0f6365df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/content.txt
@@ -0,0 +1,3 @@
+grand child page one
+
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/properties.xml
new file mode 100644
index 0000000000..07ffe0c450
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/GrandChildPageOne/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210017
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/content.txt
new file mode 100644
index 0000000000..35f97d8759
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/content.txt
@@ -0,0 +1,3 @@
+child page one
+
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/properties.xml
new file mode 100644
index 0000000000..8df5a4edc3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageOne/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210016
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/content.txt
new file mode 100644
index 0000000000..8392f99406
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/content.txt
@@ -0,0 +1,3 @@
+child page three
+
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/properties.xml
new file mode 100644
index 0000000000..1d529272ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageThree/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210018
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/content.txt
new file mode 100644
index 0000000000..c28be372a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/content.txt
@@ -0,0 +1 @@
+grand child page two
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/properties.xml
new file mode 100644
index 0000000000..a54ba7adc7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/GrandChildPageTwo/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210019
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/content.txt
new file mode 100644
index 0000000000..4b512e99fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/content.txt
@@ -0,0 +1,3 @@
+child page two
+
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/properties.xml
new file mode 100644
index 0000000000..a54ba7adc7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildPageTwo/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210019
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/content.txt
new file mode 100644
index 0000000000..8c30a0d53e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/content.txt
@@ -0,0 +1,7 @@
+Here are some characters that make use of the unicode character set. They were gathered from wikipedia.
+japanese: メインページ
+icelandic: Forsíða
+ukranian: Головна стаття
+thai: หน้าหลัก
+greek: Κύρια Σελίδα
+arabic: الصفحة الرئيسية
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/properties.xml
new file mode 100644
index 0000000000..99624e8399
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/ChildWithUnicode/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210020
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/content.txt b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/content.txt
new file mode 100644
index 0000000000..aa4101ade8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/content.txt
@@ -0,0 +1,7 @@
+!c !1 Sample Wiki
+!c This subwiki is used in the SuiteAcceptanceTests.SuiteWikiImportTests test suite.
+
+^ChildPageOne
+^ChildPageTwo
+^ChildPageThree
+^ChildWithUnicode
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SampleWiki/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/properties.xml
new file mode 100644
index 0000000000..6b8bf916d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SampleWiki/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210015
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SliM/content.txt b/fitnesse/FitNesseRoot/FitNesse/SliM/content.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/fitnesse/FitNesseRoot/FitNesse/SliM/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SliM/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SliM/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/content.txt
new file mode 100644
index 0000000000..56410ad7b2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/content.txt
@@ -0,0 +1 @@
+The following text must be here:''You have reached Child One.''
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/properties.xml
new file mode 100644
index 0000000000..431188aca6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildOne/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210025
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/content.txt
new file mode 100644
index 0000000000..440ae3306f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/content.txt
@@ -0,0 +1,3 @@
+This page has an alias widget that links to a non existent page
+
+[[link][NonExistentPage]]
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/properties.xml
new file mode 100644
index 0000000000..431188aca6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210025
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/content.txt
new file mode 100644
index 0000000000..789ebfde86
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/content.txt
@@ -0,0 +1,3 @@
+This page contains an alias link to a non existent sub page.
+
+[[link][^NonExistentSubPage]]
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/properties.xml
new file mode 100644
index 0000000000..431188aca6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithAliasLinkToNonExistentSubPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210025
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/content.txt
new file mode 100644
index 0000000000..7a8aed7a6d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/content.txt
@@ -0,0 +1 @@
+This page: .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.DoesNotExist.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/properties.xml
new file mode 100644
index 0000000000..f2bf75b838
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithLinkToNonExistentPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210026
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/content.txt
new file mode 100644
index 0000000000..6eef550593
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/content.txt
@@ -0,0 +1,3 @@
+This page has a link to a non existent sub page.
+
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildWithSubPageLinkToNonExistentPage.NonExistentSubPage
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/properties.xml
new file mode 100644
index 0000000000..f2bf75b838
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/ChildWithSubPageLinkToNonExistentPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210026
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/content.txt
new file mode 100644
index 0000000000..70f8155f1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/content.txt
@@ -0,0 +1 @@
+the included page 00bF
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/properties.xml
new file mode 100644
index 0000000000..f2bf75b838
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludedPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210026
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/content.txt
new file mode 100644
index 0000000000..a78f4ab774
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/content.txt
@@ -0,0 +1,2 @@
+Child Including Page
+!include .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.IncludedPage
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/properties.xml
new file mode 100644
index 0000000000..238512fcc9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/ChildIncludingPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210027
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/content.txt
new file mode 100644
index 0000000000..58a411cbe6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/content.txt
@@ -0,0 +1,2 @@
+!include .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.IncludedPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.IncludingPage.ChildIncludingPage
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/properties.xml
new file mode 100644
index 0000000000..238512fcc9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/IncludingPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210027
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/content.txt
new file mode 100644
index 0000000000..32fb924c9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/content.txt
@@ -0,0 +1,10 @@
+This page is used as a target for some of the FitNesse acceptance tests. Don't delete it or any of it's children.
+
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildOne
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildWithLinkToNonExistentPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildWithSubPageLinkToNonExistentPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildWithAliasLinkToNonExistentPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.ChildWithAliasLinkToNonExistentSubPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.IncludedPage
+.FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.IncludingPage
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/properties.xml
new file mode 100644
index 0000000000..060fc5e5eb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/AcceptanceTestPage/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210024
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/FixtureList/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/FixtureList/content.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/FixtureList/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/FixtureList/properties.xml
new file mode 100644
index 0000000000..d13ea88e9b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/FixtureList/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210028
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/content.txt
new file mode 100644
index 0000000000..7a94669b9e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/content.txt
@@ -0,0 +1,2 @@
+[[!-FitNesse's-! own acceptance test suite][.FitNesse.SuiteAcceptanceTests]] | [[Front Page][.FrontPage]] | [[User Guide][.FitNesse.UserGuide]]
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/properties.xml
new file mode 100644
index 0000000000..32e5b59226
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageFooter/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageHeader/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageHeader/content.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageHeader/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageHeader/properties.xml
new file mode 100644
index 0000000000..b967a7769d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/PageHeader/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20060717210028
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..ccbd9278f0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/content.txt
@@ -0,0 +1,97 @@
+!|scenario|given page|page|with content|content|
+|create page|@page|with content|@content|
+|$IT=|echo|@page|
+
+!|scenario|given page|page|
+|given page|@page|with content|nothing|
+
+!|scenario|given test page|page|
+|given page|@page|
+|make|@page|a test page|
+
+!|scenario|given slim test page|page|
+|given page|@page|with content|!define TEST_SYSTEM {slim}|
+|make|@page|a test page|
+
+|scenario|page|source|should have link to|target|
+|check|request page|@source|200|
+|ensure|content contains||
+|$IT=|echo|@source|
+
+!|scenario|it should have link to|target|
+|page|$IT|should have link to|@target|
+
+!|scenario|and it should have link to|target|
+|page|$IT|should have link to|@target|
+
+!|scenario|page|source|should have creating link to|target|
+|check|request page|@source|200|
+|ensure|content contains|@target[?]|
+
+!|scenario|it should have creating link to|target|
+|page|$IT|should have creating link to|@target|
+
+!|scenario|page|source|should contain|text|
+|check|request page|@source|200|
+|ensure|content contains|@text|
+|show|content|
+
+!|scenario|page|source|should not contain|text|
+|check|request page|@source|200|
+|reject|content contains|@text|
+|show|content|
+
+!|scenario|page|source|should match|text|
+|check|request page|@source|200|
+|ensure|content matches|@text|
+|show|content|
+
+!|scenario|it should contain|text|
+|page|$IT|should contain|@text|
+
+!|scenario|it should not contain|text|
+|page|$IT|should not contain|@text|
+
+!|scenario|it should contain|text|in line|symbol|
+|check|request page|$IT|200|
+|$@symbol=|line number containing|@text|
+
+!|scenario|it should match|text|
+|page|$IT|should match|@text|
+
+!|scenario|test results for page|source|should contain|text|
+|check|request page|@source?test|200|
+|ensure|content contains|@text|
+|show|content|
+
+!|scenario|its test results should contain|text|
+|test results for page|$IT|should contain|@text|
+
+!|scenario|test ressults for page|source|should not contain|text|
+|check|request page|@source?test|200|
+|reject|content contains|@text|
+|show|content|
+
+!|scenario|and should contain|text|
+|ensure|content contains|@text|
+|show|content|
+
+!|scenario|and should match|text|
+|ensure|content matches|@text|
+|show|content|
+
+!|scenario|and should not contain|text|
+|reject|content contains|@text|
+|show|content|
+
+!|scenario|widget|wikiText|should render|htmlText|
+|create page|WidgetPage|with content|@wikiText|
+|check|request page|WidgetPage|200|
+|ensure|content matches|@htmlText|
+|show|content|
+
+!|scenario|the line|after|should come after|before|
+|check|echo int|$@before|< $@after|
+
+!|scenario|pass|
+|check|echo|pass|pass|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..ceb51257d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/ScenarioLibrary/properties.xml
@@ -0,0 +1,13 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1234380859396
+ 7171568299669753244
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/content.txt
new file mode 100644
index 0000000000..02993aa944
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/content.txt
@@ -0,0 +1,4 @@
+!|Import|
+|fitnesse.fixtures|
+
+!|SetUp|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/properties.xml
new file mode 100644
index 0000000000..7d5abf5e7f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SetUp/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+ 20060717210029
+ docs
+
+
+
+
+
+ 1122839767051
+ 2319759440361385703
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/content.txt
new file mode 100644
index 0000000000..f5fd7bfd50
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/content.txt
@@ -0,0 +1,17 @@
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given page|FrontPage|
+
+!note Make sure saveProperties is last, because it clears the write-lock
+!|operation is authenticated|
+|operation|
+|purgeHistory|
+|testHistory|
+|pageHistory|
+|shutdown|
+|renamePage|
+|deletePage|
+|movePage|
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/AlwaysSecureOperation/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..c1314c0518
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/content.txt
@@ -0,0 +1,52 @@
+!|scenario|it should be readable with no authentication|
+|check|request page|$IT|200|
+
+!|scenario|it should not be readable with no authentication|
+|check|request page|$IT|401|
+
+!|scenario|it should be readable by user|user|password|password|
+|check|request page|$IT|authenticated by user|@user|and password|@password|200|
+
+!|scenario|it should not be readable by user|user|password|password|
+|check|request page|$IT|authenticated by user|@user|and password|@password|401|
+
+!|scenario|given read locked page|page|
+|create page|@page|with authentication|secure-read=true|
+|$IT=|echo|@page|
+
+!|scenario|given write locked page|page|
+|create page|@page|with authentication|secure-write=true|
+|$IT=|echo|@page|
+
+!|scenario|given test locked page|page|
+|create page|@page|with authentication|secure-test=true|
+|$IT=|echo|@page|
+
+!|scenario|directory|dir|should not be readable with no authentication|
+|check|request page|@dir|401|
+
+!|scenario|directory|dir|should not be readable by user|user|password|password|
+|check|request page|@dir|authenticated by user|@user|and password|@password|401|
+
+!|scenario|directory|dir|should be readable by user|user|password|password|
+|check|request page|@dir|authenticated by user|@user|and password|@password|200|
+
+!|scenario|it should be not readable with no authentication|
+|check|request page|$IT|401|
+
+!|scenario|it should not be readable by user|user|password|password|
+|check|request page|$IT|authenticated by user|@user|and password|@password|401|
+
+!|scenario|it should be readable by user|user|password|password|
+|check|request page|$IT|authenticated by user|@user|and password|@password|200|
+
+!|scenario|operation|operation|with bad authentication should fail|
+|check|request page|$IT?@operation|authenticated by user|Aladdin|and password|open please|401|
+
+!|scenario|operation|operation|with good authentication should not fail|
+|check not|request page|$IT?@operation|authenticated by user|Aladdin|and password|open sesame|401|
+
+!|scenario|operation|operation|is authenticated|
+|operation|@operation|with bad authentication should fail|
+|operation|@operation|with good authentication should not fail|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/content.txt
new file mode 100644
index 0000000000..270d042cbf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/content.txt
@@ -0,0 +1,22 @@
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given read locked page|FrontPage|
+
+!|operation is authenticated|
+|operation|
+|properties|
+|edit|
+|search|
+|versions|
+|viewVersion|
+|names|
+|executeSearchProperties|
+|whereUsed|
+|refactor|
+|pageData|
+|raw|
+|rss|
+|importAndView|
+|getPage|
+|packet|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureReadOperations/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/content.txt
new file mode 100644
index 0000000000..c9b2dd0005
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/content.txt
@@ -0,0 +1,19 @@
+!define PATHS {
+!path classes
+!path fitnesse.jar
+!define TEST_SYSTEM (slim)
+!define SLIM_PORT (9000)
+}
+
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given page|ParentPage|with content|${PATHS}|
+|given test locked page|ParentPage.AwkwardTurtle|
+
+!|operation is authenticated|
+|operation|
+|suite|
+|test|
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureTestOperations/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/content.txt
new file mode 100644
index 0000000000..8c6e5a54f3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/content.txt
@@ -0,0 +1,13 @@
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given write locked page|FrontPage|
+
+!note Make sure saveProperties is last, because it clears the write-lock
+!|operation is authenticated|
+|operation|
+|addChild|
+|saveData|
+|rollback|
+|saveProperties|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SecureWriteOperations/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SetUp/content.txt
new file mode 100644
index 0000000000..399a283f0e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/SetUp/content.txt
@@ -0,0 +1,6 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/content.txt
new file mode 100644
index 0000000000..f3d9d8c184
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/content.txt
@@ -0,0 +1,9 @@
+Make a request for an insecure page with out supplying any credentials. It should succeed.
+
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given page|FrontPage|
+|it should be readable with no authentication|
+|it should be readable by user|Aladdin|password|open sesame|
+|it should be readable by user|Aladdin|password|open please|
+|it should be readable by user|Bob|password|xyzzy|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestInsecureReadPage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/content.txt
new file mode 100644
index 0000000000..cb6a2ca8e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/content.txt
@@ -0,0 +1,9 @@
+Children of a page who'se 'secure-read' property is set, also require authentication in order to read. The 'secure-read' property acts as though it were inherited by the children pages.
+
+!|script|
+|given user|Aladdin|with password|open sesame|
+|given read locked page|ParentPage|
+|given page|ParentPage.ChildPage|
+|it should not be readable with no authentication|
+|it should not be readable by user|Aladdin|password|open please|
+|it should be readable by user|Aladdin|password|open sesame|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestReadChildOfSecurePage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/content.txt
new file mode 100644
index 0000000000..0f6106b65f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/content.txt
@@ -0,0 +1,12 @@
+!|FileSection|setup|
+
+Requesting a file from the ''files''' directory does not require authentication, but requesting a directory does.
+A response with status 401 will be received signifying lack of authentication.
+
+!|script|
+|given user|Aladdin|with password|open sesame|
+|directory|files/|should not be readable with no authentication|
+|directory|files/|should not be readable by user|Aladdin|password|open please|
+|directory|files/|should be readable by user|Aladdin|password|open sesame|
+
+!|FileSection|teardown|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureFilesAccess/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/content.txt
new file mode 100644
index 0000000000..4838d4ccf0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/content.txt
@@ -0,0 +1,27 @@
+If we try to test a suite page that is marked secure-test, we'll have to authenticate.
+A response with status 401 will be received signifying lack of authentication.
+
+First setup the Authentication module.
+!|Authenticator Setup|
+|username|password|status?|
+|Aladdin|open sesame||
+
+Create a page to be tested.
+!|Page creator.|
+|Page name.|page attributes|valid?|
+|FrontPage |secure-test=true|true|
+
+Now request a page. We should get a 401 since we didn't suply any credentials.
+!|Response Requester.|
+|uri|status?|
+|FrontPage?suite |401 |
+
+When we supply bad credintials we get a 401.
+!|Response Requester.|
+|uri|username|password|status?|
+|FrontPage?suite |Aladdin|open please|401|
+
+Proper credentials give a successfull response.
+!|Response Requester.|
+|uri|username|password|status?|
+|FrontPage?suite |Aladdin|open sesame|200|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/properties.xml
new file mode 100644
index 0000000000..4cb9100788
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureSuitePage/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081020135120
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/content.txt
new file mode 100644
index 0000000000..470a1b3691
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/content.txt
@@ -0,0 +1,27 @@
+If we try to test a page that is marked secure-test, we'll have to authenticate.
+A response with status 401 will be received signifying lack of authentication.
+
+First setup the Authentication module.
+!|Authenticator Setup|
+|username|password|status?|
+|Aladdin|open sesame||
+
+Create a page to be tested.
+!|Page creator.|
+|Page name.|page attributes|valid?|
+|FrontPage |secure-test=true|true|
+
+Now request a page. We should get a 401 since we didn't suply any credentials.
+!|Response Requester.|
+|uri|status?|
+|FrontPage?test |401 |
+
+When we supply bad credintials we get a 401.
+!|Response Requester.|
+|uri|username|password|status?|
+|FrontPage?test |Aladdin|open please|401|
+
+Proper credentials give a successfull response.
+!|Response Requester.|
+|uri|username|password|status?|
+|FrontPage?test |Aladdin|open sesame|200|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/properties.xml
new file mode 100644
index 0000000000..c53497f269
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/TestSecureTestPage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/content.txt
new file mode 100644
index 0000000000..314ebc3b07
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/content.txt
@@ -0,0 +1,5 @@
+!define TEST_SYSTEM {slim}
+!contents -g -h -p
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/properties.xml
new file mode 100644
index 0000000000..d5add12c02
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteAuthenticationTests/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..756a3de066
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/content.txt
@@ -0,0 +1,33 @@
+!|scenario|the edit response should contain|contents|
+|check|request page|$IT?edit|200|
+|ensure|content contains|@contents|
+|show|content|
+
+!|scenario|attempt to edit|page |
+|check |request page |@page?edit|200|
+
+!|scenario|save page|page|with contents|contents|
+|check|request page save|@page|with contents|@contents|303|
+|$IT=|echo|@page|
+
+!|scenario|save page|page|with contents|contents|by user|user|
+|check|request page save|@page|with contents|@contents|by user|@user|and password|empty|303|
+|$IT=|echo|@page|
+
+!|scenario|save page|page|by user|user|
+|check|request page save|@page|with contents|empty|by user|@user|and password|empty|303|
+|$IT=|echo|@page|
+
+!|scenario|save page|page|
+|save page|@page|with contents|empty|
+
+!|scenario|it's last modified by should be|user|
+|check|last modified of page|$IT|@user|
+
+!|scenario|it's versions should contain|content|
+|page|$IT?versions|should contain|@content|
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/SetUp/content.txt
new file mode 100644
index 0000000000..ffb7cf1de1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/SetUp/content.txt
@@ -0,0 +1,6 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/content.txt
new file mode 100644
index 0000000000..4e77b4c65a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/content.txt
@@ -0,0 +1,13 @@
+!2 Test editing an existent page.
+The form should have a normal header, an edit area filled with the current contents of the page, and a save button.
+----
+
+!|script|
+|given page|SomePage|with content|some content|
+|the edit response should contain|SomePage|
+|and should match|some content|
+|and should match||
+|and should match|action="SomePage"|
+|and should match||
+|and should match|type="submit"|
+|and should match|value="Save"|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/properties.xml
new file mode 100644
index 0000000000..c4ced86714
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditExistingPage/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229153458931
+ 3161918505796726939
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/content.txt
new file mode 100644
index 0000000000..4387afbc54
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/content.txt
@@ -0,0 +1,9 @@
+!2 Test editing a non-existent page.
+The form should have a normal header, a blank edit area, a save button.
+
+!|script |
+|attempt to edit |SomeNonExistentPage |
+|and should match| |
+|and should match| |
+|and should match|action="SomeNonExistentPage"|
+|and should match|type="submit" |
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/properties.xml
new file mode 100644
index 0000000000..f3519d2836
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestEditNewPage/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229153513098
+ -3655776539143142112
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/content.txt
new file mode 100644
index 0000000000..36d35aa1f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/content.txt
@@ -0,0 +1,3 @@
+!|script|
+|save page|NewPage|with contents|þðæö|
+|it should contain|þðæö|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/properties.xml
new file mode 100644
index 0000000000..2dab0f0c8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUnicodeCharacters/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229153634306
+ 2076309857569861535
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/content.txt
new file mode 100644
index 0000000000..b748acaa67
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/content.txt
@@ -0,0 +1,10 @@
+The username of the person who last modified a page is displayed in the properties view of the modified page.
+
+!|script|
+|save page|PageOne|by user|Aladdin|
+|it's last modified by should be|Aladdin|
+|save page|PageTwo|by user|Genie|
+|it's last modified by should be|Genie|
+|save page|PageThree|
+|it's last modified by should be|null|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInProperties/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/content.txt
new file mode 100644
index 0000000000..218b3a4289
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/content.txt
@@ -0,0 +1,6 @@
+!-RecentChanges-! displays the username of the last user that modified each page. If the user is anonymous then it is not displayed.
+
+!|script|
+|page|RecentChanges|should not contain|Aladdin|
+|save page|SomePage|by user|Aladdin|
+|page|RecentChanges|should contain|Aladdin|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInRecentChanges/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/content.txt
new file mode 100644
index 0000000000..55b63b1b55
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/content.txt
@@ -0,0 +1,7 @@
+When viewing versions, the user who created each ''previous'' version is listed along with each version. Anonymous users are omitted.
+
+!|script|
+|save page|MyPage|by user|Bob|
+|save page|MyPage|by user|Bill|
+|it's versions should contain|Bob|
+|and should match|>\d+<|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameInVersions/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/content.txt
new file mode 100644
index 0000000000..4798b204d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/content.txt
@@ -0,0 +1,7 @@
+The username is saved when a page is edited. It is visible through use of the !-!lastmodified-! widget.
+
+!|script|
+|save page|MyPage|with contents|!lastModified|
+|it should not contain|bob|
+|save page|MyPage|with contents|!lastmodified|by user|bob|
+|it should contain|bob|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/TestUserNameSaved/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/content.txt
new file mode 100644
index 0000000000..d94ff563cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/content.txt
@@ -0,0 +1,3 @@
+The edit responder is invoked with a url of the form {{{SomePage?edit}}}
+!contents -R2 -p
+!define TEST_SYSTEM {slim}
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/properties.xml
new file mode 100644
index 0000000000..ac299047b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteEditResponderTests/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229153668185
+ 5760355884637638070
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/content.txt
new file mode 100644
index 0000000000..6d9cd4011c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/content.txt
@@ -0,0 +1,12 @@
+There are cases when you want to copy and append the last row of your column or row fixture certain number of times.
+
+For Ex: We make a query to the database and it return certain record 'n' number of times. Instead of writing the same record 'n' number of times in your fitnesse page, you can just specify that you expect the last column 'n' number of times using the !-CopyAndAppendLastRow-! decorator.
+
+!|Copy and Append Last Row|100|number of times|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+In the above example, we want to divide 100 by 4 101 times.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/properties.xml
new file mode 100644
index 0000000000..4646681944
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAndAppendLastRow/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20061216213113
+
+
+
+
+ 1166322673244
+
+ 524008525574625139
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/content.txt
new file mode 100644
index 0000000000..58c220f112
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/content.txt
@@ -0,0 +1,12 @@
+What if you want to call the fixture 'n' times with the same row except you want to update one or two column's value?
+
+Ex: If you are using fitnesse fixtures to populate database and you want to insert a record 500 times. It would be easy to write one model record and insert that 500 times. This can be easily done with the !-CopyAndAppendLastRow-! decorator. But the database table might have a primary key. So you might want to update the primary key in each row. Now you might want to pipe !-IncrementColumnsValue-! and !-CopyAndAppendLastRow-! decorators to get the job done.
+
+Here is an example where I want to divide 5 by 1, 100 times, but I also want to update the numerator by 5 and denominator by 1.
+
+!|Copy and Append Last Row|100|times|
+|Increment Columns Value|numerator|of type|int|by|5|
+|Increment Columns Value|denominator|of type|int|by|1|
+|Division|
+|numerator|denominator|quotient()|
+|5|1|5|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/properties.xml
new file mode 100644
index 0000000000..248425be0e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/CopyAppendLastRowAndIncrementColumnValues/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20061216215829
+
+
+
+
+ 1166324308994
+
+ -8528063939302055872
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/content.txt
new file mode 100644
index 0000000000..8f8916dc03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/content.txt
@@ -0,0 +1,42 @@
+What if you want to increment the value of one of the columns of your fixture table at run time? You can use the !-IncrementColumnsValue-! decorator. This lets you increment column's values. This decorator supports the following data types:
+ * int or integer
+ * double
+ * string
+ * date
+
+!|Increment Columns Value|numerator|of type|int|by|5|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|10|3|5|
+|10|4|5|
+
+!|Increment Columns Value|numerator|of type|integer|by|5|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|10|3|5|
+|10|4|5|
+
+!|Increment Columns Value|numerator|of type|double|by|10.2|
+|Division|
+|numerator|denominator|quotient()|
+|10.2|2|5.1|
+|10.2|4|5.1|
+
+!|Increment Columns Value|numerator|of type|string|by|5|
+|Division|
+|numerator|denominator|quotient()|
+|5|1|5|
+|5|11|5|
+|5|111|5|
+
+Updates the dates by 5 days.
+!|Increment Columns Value|inDate|of type|date|by|5|
+|Get Dates|
+|inDate|updatedDate()|
+|12/02/2006|12/02/2006|
+|12/02/2006|12/07/2006|
+|12/22/2006|01/01/2007|
+
+This decorator by itself is not as useful. But piped with other decorators this can be really handy.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/properties.xml
new file mode 100644
index 0000000000..af3175f206
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/IncrementColumnsValues/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20081020135129
+
+
+
+
+ 1166413276084
+
+ 8229942939854899838
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/content.txt
new file mode 100644
index 0000000000..6ed36baab5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/content.txt
@@ -0,0 +1,20 @@
+Consider you have a simple fit test as follows:
+
+!|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+Now you want to measure how much time this test is taking to execute. But you don't want to or cannot modify the existing test fixture. Basically you want to decorate the existing fit tests with extra features.
+
+It would be cool if you could write a decorator around your fit test which starts a timer before the execution of the fit test starts, runs the fit test as usual and once the execution is completed it records the amount of time it took to run the test. An assertion on the execution time to make sure it executes within a max time is also quite handy to be aware of the application's performance over a period of time. Something like this:
+
+!|Max Time|100|milliseconds|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+'''Note:''' As of now, all the times are in milliseconds. The parameter "milliseconds" in the fixture above is just ignored.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/properties.xml
new file mode 100644
index 0000000000..40bef8ad26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MaxTimeDivision/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20081020135129
+
+
+
+
+ 1166312743925
+
+ -1637353253013255969
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/content.txt
new file mode 100644
index 0000000000..861b5a4a78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/content.txt
@@ -0,0 +1,15 @@
+What if you want to execute the same fitnesse test multiple times. This seems like nice a candidate for a decorator.
+
+If you want to loop 5 times over a fitnesse table and make sure each time the test does not take more than 100 milliseconds.
+
+!|Loop|5|times|
+|Max Time|100|milliseconds|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+Once you run this test, you can see actual time taken for each run. In our case, we'll see 5 actual timing printed, since we are looping 5 times.
+
+'''Note:''' As you can see, you can pipe decorators. Similar to how you can pipe Unix shell commands.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/properties.xml
new file mode 100644
index 0000000000..98e9bd2476
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/MultipleDivision/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20061216185449
+
+
+
+
+ 1166313289708
+
+ -7438421477570336896
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/content.txt
new file mode 100644
index 0000000000..6bf4596ab9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/content.txt
@@ -0,0 +1,4 @@
+!|Import|
+|fit.decorator|
+|fit.decorator.performance|
+|eg|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/properties.xml
new file mode 100644
index 0000000000..47bf822873
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20061216183948
+ true
+ true
+ true
+ true
+ true
+ true
+ 1166312388007
+ -6757238585913794424
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/content.txt
new file mode 100644
index 0000000000..7931d9916b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/content.txt
@@ -0,0 +1 @@
+!|fit.Summary|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/properties.xml
new file mode 100644
index 0000000000..b7f5c22ccf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TearDown/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20061216141632
+ true
+ true
+ true
+ true
+ true
+ true
+ 1166296592283
+ -5128325404176707243
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/content.txt
new file mode 100644
index 0000000000..66e59b8212
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/content.txt
@@ -0,0 +1,19 @@
+What if you want to specify a time range for your fitnesse fixtures?
+
+!|Time Range|0|milliseconds min and max|50|milliseconds|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+In this example, you want to make sure all the division don't take less than 0 milliseconds and more than 50 milliseconds.
+
+By now you should be aware that these decorators ignore alternative column names.
+
+!|Time Range|0|alternative column values are ignored|50|this is ignored as well|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/properties.xml
new file mode 100644
index 0000000000..601386def2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimeRangeDivision/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20081020135129
+
+
+
+
+ 1166313795208
+
+ -6211985429310204450
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/content.txt
new file mode 100644
index 0000000000..ba88c32bce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/content.txt
@@ -0,0 +1,12 @@
+What if you want to run the same fitnesse fixture, 5 times and want to make sure that each time it runs it does not take more than 75 milliseconds? Also you want to make sure overall, it does not take more than 100 milliseconds.
+
+!|Max Time|100|milliseconds|
+|Loop|5|times|
+|Max Time|75|milliseconds|
+|Division|
+|numerator|denominator|quotient()|
+|10|2|5|
+|12.6|3|4.2|
+|100|4|25|
+
+'''Note:''' Again you can see here, how you can pipe different decorators and create powerful decorator patterns.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/properties.xml
new file mode 100644
index 0000000000..ef627940ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/TimedMultipleDivision/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ 20061216185819
+
+
+
+
+ 1166313499121
+
+ 8781183260268546089
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/content.txt
new file mode 100644
index 0000000000..61c3e10cc2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/content.txt
@@ -0,0 +1,17 @@
+!-FitDecorator-! is a framework for writing decorator for FIT fixtures. !-FitDecorator-! help you to add new functionality to existing fixture classes without having to update them. You can just decorate the table on the fitnesse page with the appropriate !-FitDecorator-!.
+
+For example, if you want to approximately know how much time each fixture is taking during a fitnesse test, you can decorate the existing fitnesse table with a !-MaxTime-! decorator.
+
+List of available decorators and their functionality with an example:
+
+ * [[Measure Max Time taken by the Division Fixture by using !-MaxTime-! decorator][^MaxTimeDivision]]
+ * [[Execute Division Fixture multiple times using Loop Decorator][^MultipleDivision]]
+ * [[Example of piping !-MaxTime-! and Loop decorator to build complex decorators][^TimedMultipleDivision]]
+ * [[Measure if the Division Fixture is executed in the given Time Range using the !-TimeRange-! decorator][^TimeRangeDivision]]
+ * [[Copy the last row and append it to the end of the table 'n' number of times using !-CopyAndAppendLastRow-! decorator][^CopyAndAppendLastRow]]
+ * [[Increment all the subsequent column values using the !-IncrementColumnsValues-! decorator][^IncrementColumnsValues]]
+ * [[Example of piping !-CopyAndAppendLastRow-! and !-IncrementColumnsValues-! decorators][^CopyAppendLastRowAndIncrementColumnValues]]
+
+'''Note:''' !-FitDecorator-! does not support [[Fit Library][http://fitlibrary.sourceforge.net]] as of now.
+
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/properties.xml
new file mode 100644
index 0000000000..a06213bf32
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFitDecoratorTests/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ 1166331006945
+
+ -455847644342679400
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/content.txt
new file mode 100644
index 0000000000..b9a54c3f03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/content.txt
@@ -0,0 +1,16 @@
+!3 You can put arrays of objects into ColumnFixture fixtures.
+
+!|fitnesse.fixtures.ComplexAddFixture|
+|a|b|sum?|
+|1,2|3,4|4,6|
+
+{{{
+public class ComplexAddFixture extends ColumnFixture
+{
+ public int[] a;
+ public int[] b;
+ public int[] sum() {
+ return new int[] {a[0]+b[0], a[1]+b[1]};
+ }
+}
+}}}
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/properties.xml
new file mode 100644
index 0000000000..34fcc1d8c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestArraysInColumnFixture/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210038
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/content.txt
new file mode 100644
index 0000000000..3f1ec6f965
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/content.txt
@@ -0,0 +1,28 @@
+!3 When testing a column fixture, if the header row mentions a field that is not in the fixture, then the following message should appear in that cell:
+{{{Could not find field: fieldname.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-ColumnFixtureTestFixture-! is a special class used for testing Column fixtures.
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-!path ./lib/*.jar-!|
+|enter|line|!-|Import|-!|
+|enter|line|!-|fitnesse.fixtures|-!|
+|enter|line||
+|enter|line|!-|Column fixture test fixture|-!|
+|enter|line|!-|no such field|-!|
+|enter|page|!-ColumnFixtureTestPage-!|
+
+!|Response Requester|
+|uri|status?|
+|ColumnFixtureTestPage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Could not find field: no such field|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/properties.xml
new file mode 100644
index 0000000000..1c5113b262
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingField/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/content.txt
new file mode 100644
index 0000000000..dc22b09947
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/content.txt
@@ -0,0 +1,35 @@
+!3 When testing a column fixture, if the header row mentions a method that is not in the fixture, then the following message should appear in that cell:
+{{{Could not find method: methodName.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-ColumnFixtureTestFixture-! is a special class used for testing Column fixtures.
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|Import|-!|
+|enter|line|!-|fitnesse.fixtures|-!|
+|enter|line||
+|enter|line|!-|Column fixture test fixture|-!|
+|enter|line|!-|no such method()|-!|
+|enter|page|!-ColumnFixtureTestPage-!|
+
+!|Response requester|
+|uri|contents?|
+|ColumnFixtureTestPage||
+
+!|Response examiner|
+|contents?|
+||
+
+!|Response Requester|
+|uri|status?|
+|ColumnFixtureTestPage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Could not find method: no such method()|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/properties.xml
new file mode 100644
index 0000000000..6015b5f753
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestMissingMethod/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210039
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/content.txt
new file mode 100644
index 0000000000..100749d22a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/content.txt
@@ -0,0 +1,41 @@
+!3 You can save and recall symbols in a !-ColumnFixture-!. You do this by using the =id? and id= syntax.
+
+ * =id? or =id() takes the output of a function and stores it in the symbol named by the cell. In the example below the integer 1 is stored in the symbol ''one'', and the integer 2 is stored in the symbol ''two''.
+ * id= recalls the value of the symbol named by the cell, and puts it in the ''id'' variable.
+
+!|fitnesse.fixtures.ColumnFixtureTestFixture|
+|input|=output?|
+|1|one|
+|2|two|
+
+!|fitnesse.fixtures.ColumnFixtureTestFixture|
+|input=|output?|
+|one|1|
+|two|2|
+
+'''With classed integral types, there's a chance the value may be null as a correct result:'''
+!|fitnesse.fixtures.ColumnFixtureTestFixture|
+|integerInput|=integerOutput?|
+|1|one|
+|2|two|
+|null|three|
+
+!|fitnesse.fixtures.ColumnFixtureTestFixture|
+|integerInput=|integerOutput?|
+|one|1|
+|two|2|
+|three|null|
+
+{{{
+public class ColumnFixtureTestFixture extends ColumnFixture
+{
+ public int input;
+ public int output() {return input;}
+
+ public Integer integerInput;
+ public Integer integerOutput() { return integerInput; }
+
+ public boolean exception() throws Exception {throw new Exception("I thowed up");}
+}
+}}}
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/properties.xml
new file mode 100644
index 0000000000..b7f6c15b06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/TestSaveAndRecallSymbol/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081020135129
+
+
+
+
+
+
+
+ 1201547989632
+ -7853206946547459455
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/content.txt
new file mode 100644
index 0000000000..651ad304e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/content.txt
@@ -0,0 +1,5 @@
+^TestSaveAndRecallSymbol
+^TestArraysInColumnFixture
+^TestMissingField
+^TestMissingMethod
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/properties.xml
new file mode 100644
index 0000000000..3cd565adee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteColumnFixtureSpec/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210038
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/content.txt
new file mode 100644
index 0000000000..8c62b6adf7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/content.txt
@@ -0,0 +1,21 @@
+!3 If a cell contains ''"blank"'' or ''"null"'' then treat it as truly blank or truly null.
+
+Lots of people have had trouble with blank cells. In Fit, blank cells are automatically filled with the value of the variable or function, and no check is performed. Unfortunately this means that there was no good test for truly null or truly blank fields. So these keywords were added to allow users to enter them.
+
+!|fitnesse.fixtures.NullAndBlankFixture|
+|nullString|blankString|nullString?|blankString?|isNull?|isBlank?|
+|null |blank |null |blank |Y |Y |
+| | | | |Y |Y |
+|bob |micah | | |N |N |
+
+{{{
+public class NullAndBlankFixture extends ColumnFixture
+{
+ public String nullString;
+ public String blankString;
+ public String nullString() {return null;}
+ public String blankString() {return "";}
+ public boolean isNull() {return nullString == null;}
+ public boolean isBlank() {return blankString.length() == 0;}
+}
+}}}
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/properties.xml
new file mode 100644
index 0000000000..fd566a158b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestBlankAndNullCells/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210040
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/content.txt
new file mode 100644
index 0000000000..c5343498cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/content.txt
@@ -0,0 +1,26 @@
+!3 When testing a table, if the first cell of the table refers to a graceful name resolving to a class that does not extend Fixture, then the following message should appear in that cell:
+{{{Class fixtureName is not a fixture.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-WouldBeFixture-! is a real class, but is not a Fixture
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|Import|-!|
+|enter|line|!-|fit.testFxtr|-!|
+|enter|line||
+|enter|line|!-|Would Be|-!|
+|enter|page|!-NotFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NotFixturePage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Class fit.testFxtr.WouldBeFixture is not a fixture.|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/properties.xml
new file mode 100644
index 0000000000..82faa7996c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestCannotResolveGracefullyNamedFixture/properties.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ 20090311030449
+
+
+
+
+
+
+
+
+ 1236758689929
+ -5230999437416113217
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/content.txt
new file mode 100644
index 0000000000..3e331c98f5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/content.txt
@@ -0,0 +1,33 @@
+!3 When testing a table, if the first cell of the table does not refer to a class in the classpath, then the following message should appear in that cell:
+{{{Could not find fixture: fixtureName.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|No such fixture|-!|
+|enter|page|!-NoSuchFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NoSuchFixturePage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Could not find fixture: NoSuchFixture|true||
+
+!|Response requester|
+|uri|contents?|
+|ErrorLogs.NoSuchFixturePage||
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/properties.xml
new file mode 100644
index 0000000000..dda8b12c5c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFound/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210041
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/content.txt
new file mode 100644
index 0000000000..d624a1f359
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/content.txt
@@ -0,0 +1,33 @@
+!3 When testing a table, if the first cell of the table does not refer to a class in the classpath, then the following message should appear in that cell:
+{{{Could not find fixture: fixtureName.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-!|NoSuch|-!|
+|enter|page|!-NoSuchFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NoSuchFixturePage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Could not find fixture: NoSuch|true||
+
+!|Response requester|
+|uri|contents?|
+|ErrorLogs.NoSuchFixturePage||
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/properties.xml
new file mode 100644
index 0000000000..dda8b12c5c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestFixtureNotFoundAfterTackingOnFixture/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210041
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/content.txt
new file mode 100644
index 0000000000..2ab8c55d40
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/content.txt
@@ -0,0 +1,23 @@
+!3 When testing a table, if the first cell of the table refers to a fixture class without a default (no argument) constructor, then the following message should appear in that cell:
+{{{Class fixtureName has no default constructor.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-NoDefaultConstructorFixture-! is a real class, but is not a Fixture
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|-!!-!-fit.testFxtr.NoDefaultConstructorFixture-!-!!-|-!|
+|enter|page|!-NotFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NotFixturePage?test&debug|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Class fit.testFxtr.NoDefaultConstructorFixture has no default constructor.|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/properties.xml
new file mode 100644
index 0000000000..fa7c300d49
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNoDefaultConstructor/properties.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ 20090311030525
+
+
+
+
+
+
+
+
+ 1236758725882
+ -6794566941067712896
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/content.txt
new file mode 100644
index 0000000000..812f924825
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/content.txt
@@ -0,0 +1,23 @@
+!3 When testing a table, if the first cell of the table refers to a class that does not extend Fixture, then the following message should appear in that cell:
+{{{Class fixtureName is not a fixture.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-WouldBeFixture-! is a real class, but is not a Fixture
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|-!!-!-fit.testFxtr.WouldBeFixture-!-!!-|-!|
+|enter|page|!-NotFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NotFixturePage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Class fit.testFxtr.WouldBeFixture is not a fixture.|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/properties.xml
new file mode 100644
index 0000000000..6e3a8ebf9a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestNotFixture/properties.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ 20090311030613
+
+
+
+
+
+
+
+
+ 1236758773715
+ -6171906091001795859
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/content.txt
new file mode 100644
index 0000000000..72e9c0bb77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/content.txt
@@ -0,0 +1,45 @@
+Table cells contain strings. Fixtures deal with objects. In order to convert the strings into the objects FIT needs to know how to parse the strings. One way we accomplish this is to allow the objects to have the following method:{{{Object parse(String s);}}}The following table shows the result of adding two vectors. Each vector is represented by an ordered pair which represents it's X and Y dimensions. The class CartesianVector is used to parse, display, and sum the vectors.
+
+!|fitnesse.testutil.VectorSum|
+|v1|v2|sum?|
+|(0,0)|(0,1)|(0,1)|
+|(0,1)|(0,1)|(0,2)|
+|(1,1)|(1,1)|(2,2)|
+
+It is not always possible to add a parse method on the Object returned by the fixture.
+
+For Ex. if your fixture returns java.awt.Point class which does not have a {{{Object parse(String s);}}} method, this approach won't work.
+
+Following approach can be used to delegate the parse method to a different class (Parse Delegate class). The parse delegate class has the {{{Object parse(String s);}}} method which returns the Object we are interested in.
+
+The following table shows the result of adding two points. Each point is represented by an ordered pair which represents it's X and Y dimensions.
+
+!|fitnesse.testutil.ObjectTranslatePoint|
+|p1|p2|sum?|
+|(0,0)|(0,1)|(0,1)|
+|(0,1)|(0,1)|(0,2)|
+|(1,1)|(1,1)|(2,2)|
+
+In the ObjectTranslatePoint fixture, we have a static block which registers the parse delegate object for a give Class type.
+
+Ex:
+{{{static
+{
+ TypeAdapter.registerParseDelegate(java.awt.Point.class, new ObjectDelegatePointParser());
+}
+}}}Please note that we are passing a Object of the Parse Delegate class. It is also possible to pass a class instead of the object. Only difference being the parse delegate class should have a {{{public static Object parse(String s);}}} method.
+
+!|fitnesse.testutil.ClassTranslatePoint|
+|p1|p2|sum?|
+|(0,0)|(0,1)|(0,1)|
+|(0,1)|(0,1)|(0,2)|
+|(1,1)|(1,1)|(2,2)|
+
+In the ClassTranslatePoint fixture, we have a static block which registers the parse delegate class for a give Class type.
+
+Ex:
+{{{static
+{
+ TypeAdapter.registerParseDelegate(java.awt.Point.class, ClassDelegatePointParser.class);
+}
+}}}
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/properties.xml
new file mode 100644
index 0000000000..814e0f05a6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestParsingOfObjects/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081020135128
+
+
+
+
+
+
+
+ 1165041374300
+ -4287311746097088003
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/content.txt
new file mode 100644
index 0000000000..601108b7ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/content.txt
@@ -0,0 +1,23 @@
+!3 When testing a table, if the first cell of the table refers to a class (after adding 'Fixture' to the end of the name) that does not extend Fixture, then the following message should appear in that cell:
+{{{Class fixtureName is not a fixture.}}}
+
+ * Here is a fitnesse page that should generate the error
+!note The !-!path-! must point to fitnesse.jar
+!note !-WouldBeFixture-! is a real class, but is not a Fixture
+|Action fixture|
+|start|Page builder|
+|enter|attributes|Test=true|
+|enter|line|!-!path ./classes-!|
+|enter|line|!-!path ./fitnesse.jar-!|
+|enter|line|!-|-!!-!-fit.testFxtr.WouldBe-!-!!-|-!|
+|enter|page|!-NotFixturePage-!|
+
+!|Response Requester|
+|uri|status?|
+|NotFixturePage?test|200|
+
+ * The error message should show up in the response
+
+!|Response examiner|
+|type|pattern|matches?|contents?|
+|contents|Class fit.testFxtr.WouldBeFixture is not a fixture.|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/properties.xml
new file mode 100644
index 0000000000..c12e8bff10
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/TestTackOnFixtureNotFixture/properties.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ 20090311030647
+
+
+
+
+
+
+
+
+ 1236758807059
+ -6742986396526469934
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/content.txt
new file mode 100644
index 0000000000..61fee234bc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/content.txt
@@ -0,0 +1,8 @@
+^TestBlankAndNullCells
+^TestParsingOfObjects
+^TestFixtureNotFound
+^TestFixtureNotFoundAfterTackingOnFixture
+^TestNotFixture
+^TestTackOnFixtureNotFixture
+^TestCannotResolveGracefullyNamedFixture
+^TestNoDefaultConstructor
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/properties.xml
new file mode 100644
index 0000000000..43b44773cb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteGeneralFixtureSpec/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ 20090311030540
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/content.txt
new file mode 100644
index 0000000000..7f74b05f75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/content.txt
@@ -0,0 +1,9 @@
+A simple list of prime numbers. This fixture should pass.
+
+|!-fitnesse.fixtures.PrimeNumberRowFixture-!|
+|prime|
+|2|
+|3|
+|5|
+|7|
+|11|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/properties.xml
new file mode 100644
index 0000000000..8c5ff6ce3e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/TestBasicRowFixture/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210045
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/content.txt
new file mode 100644
index 0000000000..bcf74dfed4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/content.txt
@@ -0,0 +1 @@
+^TestBasicRowFixture
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/properties.xml
new file mode 100644
index 0000000000..88498919e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/SuiteRowFixtureSpec/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210044
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/content.txt
new file mode 100644
index 0000000000..e520df58b2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/content.txt
@@ -0,0 +1,4 @@
+^SuiteColumnFixtureSpec
+^SuiteGeneralFixtureSpec
+^SuiteRowFixtureSpec
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/properties.xml
new file mode 100644
index 0000000000..3cd565adee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteFixtureTests/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210038
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/content.txt
new file mode 100644
index 0000000000..b0ef86c81d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/content.txt
@@ -0,0 +1,3 @@
+!|script|
+|add child page|ChildPage|containing|child content|to parent page|NoSuchPage|should return Not Found|
+|page|ParentPage.ChildPage|should not contain|child content|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddChildToNonExistentPageTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/content.txt
new file mode 100644
index 0000000000..9a5a22d5cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/content.txt
@@ -0,0 +1,4 @@
+!|script|
+|given page|ParentPage|
+|add child page|SuiteChild|containing|child content|to parent page|ParentPage|should return Redirect|
+|ensure|page|ParentPage.SuiteChild|has attribute|Suite|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfSuiteTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/content.txt
new file mode 100644
index 0000000000..aa62a74458
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/content.txt
@@ -0,0 +1,4 @@
+!|script|
+|given page|ParentPage|
+|add child page|TestChild|containing|child content|to parent page|ParentPage|should return Redirect|
+|ensure|page|ParentPage.TestChild|has attribute|Test|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddDefaultWithNameOfTestTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/content.txt
new file mode 100644
index 0000000000..b3e954f643
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/content.txt
@@ -0,0 +1,3 @@
+!|script|
+|given page|ParentPage|
+|add child page|bad-name|containing|child content|to parent page|ParentPage|should return BadRequest|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddInvalidChildNameTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/content.txt
new file mode 100644
index 0000000000..a127e18d62
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/content.txt
@@ -0,0 +1,5 @@
+!|script|
+|given page|ParentPage|
+|add child page|SuiteChild|of type|Static|containing|child content|to parent page|ParentPage|should return Redirect|
+|reject|page|ParentPage.SuiteChild|has attribute|Suite|
+|reject|page|ParentPage.SuiteChild|has attribute|Test|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfSuiteTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/content.txt
new file mode 100644
index 0000000000..19b49c9798
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/content.txt
@@ -0,0 +1,5 @@
+!|script|
+|given page|ParentPage|
+|add child page|TestChild|of type|Static|containing|child content|to parent page|ParentPage|should return Redirect|
+|reject|page|ParentPage.TestChild|has attribute|Suite|
+|reject|page|ParentPage.TestChild|has attribute|Test|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddNormalWithNameOfTestTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/content.txt
new file mode 100644
index 0000000000..734322c57e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/content.txt
@@ -0,0 +1,4 @@
+!|script|
+|given page|ParentPage|
+|add child page|ChildPage|containing|child content|to parent page|ParentPage|should return Redirect|
+|page|ParentPage.ChildPage|should contain|child content|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSimpleChildPageTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/content.txt
new file mode 100644
index 0000000000..83381cc2d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/content.txt
@@ -0,0 +1,6 @@
+!|script|
+|given page|ParentPage|
+|add child page|ChildPage|of type|Suite|containing|child content|to parent page|ParentPage|should return Redirect|
+|page|ParentPage.ChildPage|should contain|child content|
+|ensure|page|ParentPage.ChildPage|has attribute|Suite|
+|reject|page|ParentPage.ChildPage|has attribute|Test|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddSuitePageTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/content.txt
new file mode 100644
index 0000000000..ff9ceb8aac
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/content.txt
@@ -0,0 +1,6 @@
+!|script|
+|given page|ParentPage|
+|add child page|ChildPage|of type|Test|containing|child content|to parent page|ParentPage|should return Redirect|
+|page|ParentPage.ChildPage|should contain|child content|
+|ensure|page|ParentPage.ChildPage|has attribute|Test|
+|reject|page|ParentPage.ChildPage|has attribute|Suite|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/AddTestPageTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/content.txt
new file mode 100644
index 0000000000..99248b8525
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/content.txt
@@ -0,0 +1,3 @@
+!|script|
+|given page|ParentPage|
+|add child page||containing|child content|to parent page|ParentPage|should return BadRequest|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/CantAddChildWithNoNameTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..ea5dfcbe04
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/content.txt
@@ -0,0 +1,17 @@
+!|scenario|add child page|page|containing|content|to parent page|parentPage|should return Redirect|
+|add child page|@page|containing|@content|to parent page|@parentPage|should return|303|
+
+!|scenario|add child page|page|containing|content|to parent page|parent page|should return Not Found|
+|add child page|@page|containing|@content|to parent page|@parentPage|should return|404|
+
+!|scenario|add child page|page|containing|content|to parent page|parent page|should return BadRequest|
+|add child page|@page|containing|@content|to parent page|@parentPage|should return|400|
+
+!|scenario|add child page|page|containing|content|to parent page|parent page|should return|return code|
+|add child page|@page|of type|Default|containing|@content|to parent page|@parentPage|should return|@returnCode|
+
+!|scenario|add child page|page|of type|type|containing|content|to parent page|parent page|should return Redirect|
+|add child page|@page|of type|@type|containing|@content|to parent page|@parentPage|should return|303|
+
+!|scenario|add child page|page|of type|type|containing|content|to parent page|parent page|should return|return code|
+|check|request page|@parentPage?addChild&name=@page&content=@content&pageType=@type|@returnCode|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/SetUp/content.txt
new file mode 100644
index 0000000000..d0ca815019
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/SetUp/content.txt
@@ -0,0 +1,4 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/content.txt
new file mode 100644
index 0000000000..128a7169a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/content.txt
@@ -0,0 +1,3 @@
+!contents -p -g
+
+!define TEST_SYSTEM {slim}
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/properties.xml
new file mode 100644
index 0000000000..e475416cd6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/AddChildResponderSuite/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/content.txt
new file mode 100644
index 0000000000..1c51d005e0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/content.txt
@@ -0,0 +1,46 @@
+!The directory listing in the files section displays directories in alphabetical order - directories first, then files.
+
+Create the file section
+|file section|setup|
+
+Add some files
+|file section file adder|
+|path|type|valid?|
+|cFile.txt|file|true|
+|dDir|dir|true|
+|cDir|dir|true|
+|bFile.txt|file|true|
+|dFile.txt|file|true|
+|bDir|dir|true|
+|aFile.txt|file|true|
+|aDir|dir|true|
+
+Verify that it's present through the file system
+|query:file section directory listing|
+|path|
+|aFile.txt|
+|bFile.txt|
+|cFile.txt|
+|dFile.txt|
+|aDir|
+|bDir|
+|cDir|
+|dDir|
+
+Now request the directory through fitnesse
+|Response Requester|
+|uri|valid?|contents?|
+|files/|true||
+
+|Response Examiner|
+|line|inOrder?|
+||true|
+||true|
+||true|
+||true|
+|aFile.txt|true|
+|bFile.txt|true|
+|cFile.txt|true|
+|dFile.txt|true|
+
+|file section|teardown|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/properties.xml
new file mode 100644
index 0000000000..4675a8d904
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/TestFileSectionOrder/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173159323
+ -3028771371104973063
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/content.txt
new file mode 100644
index 0000000000..bdffdda3ad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/content.txt
@@ -0,0 +1,2 @@
+!contents -g -p
+!define TEST_SYSTEM {slim}
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/properties.xml
new file mode 100644
index 0000000000..d5add12c02
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteFileSection/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/content.txt
new file mode 100644
index 0000000000..9dbe8d0449
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/content.txt
@@ -0,0 +1,42 @@
+!3 We should ''not'' be able to move a page below one of it's children.
+
+First build a page, a child page to move, and a grandchild page to act as the target of the move
+
+|Page creator.|
+|Page name. |Page contents. |valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.ChildPage-! |child page |true |
+|!-ParentPage.ChildPage.GrandchildPage-!|grandchild page| true |
+
+Then try to move the child page below the grandhild page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.ChildPage?responder=movePage&newLocation=ParentPage.ChildPage.GrandchildPage-!|400|
+
+Make sure we get an error message.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|Cannot move|true||
+
+Make sure the page didn't really move.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage.ChildPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|child page|true||
+
+Make sure that the grandchild page still exists
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage.ChildPage.GrandchildPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|grandchild page|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/properties.xml
new file mode 100644
index 0000000000..c2b49f7615
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestCantMovePageBeneathSelf/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070045
+
+
+
+
+
+
+
+ 1229173245348
+ -8080543676113160328
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/content.txt
new file mode 100644
index 0000000000..862c733e19
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/content.txt
@@ -0,0 +1,34 @@
+!3 When we move a page that is !included, the !include should be changed appropriately.
+
+First build a page, a subpage to move, and a target page to move it to. Then build a page that references the sub child to be moved.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.SubPage-!|sub page |true |
+|!-NewParentPage-! |x |true |
+|!-ReferingPage-! |!-!include ParentPage.SubPage-!|true |
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage&refactorReferences=on-!||
+
+Make sure that the refering page now !includes the old page at the new location.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ReferingPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-.NewParentPage.SubPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|sub page|true|
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/properties.xml
new file mode 100644
index 0000000000..08d79b1082
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveIncludedPage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070132
+
+
+
+
+
+
+
+ 1229173292214
+ -6812717968966184168
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/content.txt
new file mode 100644
index 0000000000..6b619cc719
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/content.txt
@@ -0,0 +1,21 @@
+!c !3 BUG! submitted by Etienne Charignon
+!c !3 When you attempt to move a page inside of itself, you should get an error message.
+!c ''prior to fix, an endless number of nested pages, all with the same name, would get created untill the os complained.''
+
+First build a page to move.
+
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|TestPage| some content |true |
+
+Then try to move the sub page inside itself. We should get an error (400).
+
+!|Response Requester.|
+|uri |status?|
+|TestPage?responder=movePage&newLocation=TestPage|400|
+
+We should be told that we cannot move the page.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|Cannot move|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/properties.xml
new file mode 100644
index 0000000000..89ddc24ca0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageInsideItself/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070206
+
+
+
+
+
+
+
+ 1229173326636
+ 2417633247891792140
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/content.txt
new file mode 100644
index 0000000000..0cc38ceb45
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/content.txt
@@ -0,0 +1,40 @@
+!3 BUG. There was a problem when moving a page that was three or more levels down from the root. Moving A.B.C to A.D.
+
+First build a page, a subpage to move, and a target page to move it to.
+
+!|Page creator.|
+|Page name. |Page contents. |valid?|
+|ParentPageAy |>ChildBee |true |
+|ParentPageAy.ChildBee |>ChildCee |true |
+|ParentPageAy.ChildDee |page D |true |
+|ParentPageAy.ChildBee.ChildCee|page C |true |
+
+The bug seems to make !-ChildBee-! disapear, so let's see if it's there now.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPageAy.ChildBee-!|true||
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPageAy.ChildBee.ChildCee?responder=movePage&newLocation=ParentPageAy.ChildDee&refactorReferences=on-!||
+
+Next fetch old parent page and make sure the reference has been changed.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPageAy.ChildBee-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-ParentPageAy.ChildDee.ChildCee-!|true||
+
+Make sure we can't get the old A.B.C page. Use the !-dontCreatePage-! query to suppress default creation of a non-existent page.
+
+|Response Requester.|
+|uri|valid?|status?|
+|!-ParentPageAy.ChildBee.ChildCee?getPage&dontCreatePage-!|false|404|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/properties.xml
new file mode 100644
index 0000000000..be5e7295fd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageThreeLevelsDown/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173359731
+ -2531277103673867547
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/content.txt
new file mode 100644
index 0000000000..f2cad25dc6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/content.txt
@@ -0,0 +1,27 @@
+!3 When we move a page from one location to another, all references to that page should be changed.
+This includes absolute references on the parent page.
+
+First build a page, a subpage to move, and a target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |!-.ParentPage.SubPage-! |true |
+|!-ParentPage.SubPage-!|sub page |true |
+|!-NewParentPage-! |x |true |
+|!-ReferingPage-! |!-ParentPage.SubPage-!|true |
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage&refactorReferences=on-!||
+
+Next fetch old parent page and make sure the reference has been changed.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-NewParentPage.SubPage-!|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/properties.xml
new file mode 100644
index 0000000000..8686a41883
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithAbsoluteInternalReference/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070313
+
+
+
+
+
+
+
+ 1229173393012
+ 5325341333142260574
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/content.txt
new file mode 100644
index 0000000000..0cce500be5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/content.txt
@@ -0,0 +1,47 @@
+!3 When we move a page from one location to another, all references to that page should be changed.
+
+First build a page, a subpage to move, and a target page to move it to. Then build a page that references the sub child to be moved.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.SubPage-!|sub page |true |
+|!-NewParentPage-! |x |true |
+|!-ReferingPage-! |!-ParentPage.SubPage-!|true |
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage&refactorReferences=on-!||
+
+Next fetch the moved page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-NewParentPage.SubPage-!|true||
+
+Make sure that the sub page can be referenced in it's new location.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|sub page|true||
+
+Make sure that there is no sub page beneath !-ParentPage-!.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|ParentPage.SubPage?getPage&dontCreatePage|false||
+
+Finally, make sure that the refering page now refers to the new location.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ReferingPage-!|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|NewParentPage.SubPage|true||
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/properties.xml
new file mode 100644
index 0000000000..7f9e4041e3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithExternalReference/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173436909
+ -1519214265074850152
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/content.txt
new file mode 100644
index 0000000000..78596443cb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/content.txt
@@ -0,0 +1,24 @@
+!3 BUG. Given A.B.C.D, moving A.B to A.E causes C and D to be deleted.
+
+First build a page, a subpage to move, sub pages of the sub page, and a target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents. |valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.ChildPage-! |child page |true |
+|!-ParentPage.ChildPage.GrandchildPage-!|grandchild page| true |
+|!-NewParentPage-! |x |true |
+
+Then move the entire tree beneath the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage?responder=movePage&newLocation=NewParentPage-!||
+
+Next fetch the moved page, and each of it's children. They should all be there.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-NewParentPage.ParentPage-!|true||
+|!-NewParentPage.ParentPage.ChildPage-!|true||
+|!-NewParentPage.ParentPage.ChildPage.GrandchildPage-!|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/properties.xml
new file mode 100644
index 0000000000..e45e98bf70
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithManyLevelsOfSubPages/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210050
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/content.txt
new file mode 100644
index 0000000000..409ca56c90
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/content.txt
@@ -0,0 +1,27 @@
+!3 When we move a page from one location to another, all references to that page should be changed.
+This includes relative references on the parent page.
+
+First build a page, a subpage to move, and a target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |!->SubPage-! |true |
+|!-ParentPage.SubPage-!|sub page |true |
+|!-NewParentPage-! |x |true |
+|!-ReferingPage-! |!-ParentPage.SubPage-!|true |
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage&refactorReferences=on-!||
+
+Next fetch old parent page and make sure the reference has been changed.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|.NewParentPage.SubPage|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/properties.xml
new file mode 100644
index 0000000000..d02ac3087a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithRelativeInternalReference/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070603
+
+
+
+
+
+
+
+ 1229173563059
+ 3592052480559424762
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/content.txt
new file mode 100644
index 0000000000..d129b79552
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/content.txt
@@ -0,0 +1,45 @@
+!3 We should be able to move a page that has sub pages from one location to another. The sub pages should move with the page.
+
+First build a page, a subpage to move, sub pages of the sub page, and a target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents. |valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.ChildPage-! |child page |true |
+|!-ParentPage.ChildPage.GrandchildPage-!|grandchild page| true |
+|!-NewParentPage-! |x |true |
+
+Then move that page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.ChildPage?responder=movePage&newLocation=NewParentPage-!||
+
+Next fetch the moved page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-NewParentPage.ChildPage-!|true||
+
+Make sure that the sub page can be referenced in it's new location.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|child page|true||
+
+Make sure that the grandchild page can be referenced in its new location
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-NewParentPage.ChildPage.GrandchildPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|grandchild page|true||
+
+Make sure that there is no sub page beneath !-ParentPage-!.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|ParentPage.SubPage?getPage&dontCreatePage|false||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/properties.xml
new file mode 100644
index 0000000000..cf849b3013
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMovePageWithSubPages/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173607134
+ 983046216905103268
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/content.txt
new file mode 100644
index 0000000000..1b24243dd3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/content.txt
@@ -0,0 +1,29 @@
+!3 When you try to move a page under a parent that does not exist, you should get a nice error message.
+
+!3 We should be able to move a page from one location to another.
+
+First build a page, a subpage to move, but ''no'' target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.SubPage-!|sub page |true |
+
+Then try move that page to a non-existent target..
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage-!|400|
+
+Make sure we get an error message.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|Cannot move|true||
+
+Make sure that the sub page is still beneath !-ParentPage-!.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage.SubPage-!|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/properties.xml
new file mode 100644
index 0000000000..d0db4da8a6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestMoveToNonExistentPage/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070714
+
+
+
+
+
+
+
+ 1229173634771
+ 8938240666381501125
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/content.txt
new file mode 100644
index 0000000000..73e9ccdd23
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/content.txt
@@ -0,0 +1,41 @@
+!3 BUG: When moving a page that has children, references to the children are not renamed properly.
+
+Given: A.B.C.E, Move A.B.C to A.D. References to A.B.C.E should be renamed to A.D.C.E
+
+|Page creator.|
+|Page name. |Page contents. |valid?|
+|!-ReferencePage-! |!-ParentPageAy.ChildBee.ChildCee.ChildEee-!|true|
+|!-ParentPageAy-! |!-^ChildBee-! |true |
+|!-ParentPageAy.ChildBee-! |!-^ChildCee-! |true |
+|!-ParentPageAy.ChildBee.ChildCee-! |page C |true |
+|!-ParentPageAy.ChildBee.ChildCee.ChildEee-!|Page E |true |
+|!-ParentPageAy.ChildDee-! |page D |true |
+
+Then move the sub page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPageAy.ChildBee.ChildCee?responder=movePage&newLocation=ParentPageAy.ChildDee&refactorReferences=on-!||
+
+Next fetch reference page and make sure the reference has been changed.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ReferencePage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-ParentPageAy.ChildDee.ChildCee.ChildEee-!|true||
+
+Make sure we can't get the old A.B.C page.
+
+!|Response Requester.|
+|uri|valid?|status?|
+|ParentPageAy.ChildBee.ChildCee?getPage&dontCreatePage|false||
+
+Make sure we ''can'' get the A.D.C.E page at it's new location.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPageAy.ChildDee.ChildCee.ChildEee-!|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/properties.xml
new file mode 100644
index 0000000000..6d7100a294
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestReferencesOfChildOfMovedPageAreRenamed/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173661174
+ -3944826000450782680
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/content.txt
new file mode 100644
index 0000000000..875258a21f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/content.txt
@@ -0,0 +1,34 @@
+!3 We should be able to move a page from one location to another.
+
+First build a page, a subpage to move, and a target page to move it to.
+
+|Page creator.|
+|Page name. |Page contents.|valid?|
+|!-ParentPage-! |x |true |
+|!-ParentPage.SubPage-!|sub page |true |
+|!-NewParentPage-! |x |true |
+
+Then move that page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SubPage?responder=movePage&newLocation=NewParentPage-!||
+
+Next fetch the moved page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-NewParentPage.SubPage-!|true||
+
+Make sure that the sub page can be referenced in it's new location.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|sub page|true||
+
+Make sure that there is no sub page beneath !-ParentPage-!.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|ParentPage.SubPage?getPage&dontCreatePage|false||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/properties.xml
new file mode 100644
index 0000000000..aef3dfe57f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/TestSimpleMove/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173686453
+ -8466104856830441988
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/content.txt
new file mode 100644
index 0000000000..a83f2f2c8e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/content.txt
@@ -0,0 +1,16 @@
+!3 This Suite specifies the behavior of the move responder.
+
+The move responder is invoked with the ''movePage'' url. This url has an argument named ''newPageLocation'' that holds the name of the new parent of the page. Thus the url:{{{http://localhost/SomePage?responder=movePage&newLocation=NewPage}}} will move''!-SomePage-!'' beneath ''!-NewPage-!''
+
+^TestSimpleMove
+^TestMovePageWithSubPages
+^TestMovePageWithManyLevelsOfSubPages
+^TestMovePageWithExternalReference
+^TestMovePageWithRelativeInternalReference
+^TestMovePageWithAbsoluteInternalReference
+^TestCantMovePageBeneathSelf
+^TestMovePageThreeLevelsDown
+^TestReferencesOfChildOfMovedPageAreRenamed
+^TestMoveToNonExistentPage
+^TestMoveIncludedPage
+^TestMovePageInsideItself
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/properties.xml
new file mode 100644
index 0000000000..3096ff6ba2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteMoveResponder/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/content.txt
new file mode 100644
index 0000000000..cfdeaa860a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/content.txt
@@ -0,0 +1,46 @@
+!3 Each page has links in the left rail. This test verifies the default set of links.
+
+Create a page.
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SomePage-!|any page at all|true|
+
+Request the page
+!|Response Requester.|
+|uri|valid?|
+|SomePage?properties|true|
+
+Ensure that the Page type radios are present
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|Page type:|true|
+|contents| - Static|true|
+|contents| - Test|true|
+|contents| - Suite|true|
+|contents| - Skip|true|
+
+Ensure that the Action links are present
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|Actions:|true|
+|contents| - Edit|true|
+|contents| - Versions|true|
+|contents| - Properties|true|
+|contents| - Refactor|true|
+|contents| - WhereUsed|true|
+
+Ensure that the Navigation links are present
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|Navigation:|true|
+|contents| - Files|true|
+|contents| - RecentChanges|true|
+|contents| - Search|true|
+
+Ensure that the Security links are present
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|Security:|true|
+|contents| - secure-read|true|
+|contents| - secure-write|true|
+|contents| - secure-test|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/properties.xml
new file mode 100644
index 0000000000..fc28cc38ef
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/TestPropertyCheckboxesArePresent/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+ 1235158706748
+ -2937605021692999419
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/content.txt
new file mode 100644
index 0000000000..f0e96e5bbc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/content.txt
@@ -0,0 +1 @@
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/properties.xml
new file mode 100644
index 0000000000..a317072bbc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuitePropertiesResponder/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20060717210052
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/content.txt
new file mode 100644
index 0000000000..9d039e65ee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/content.txt
@@ -0,0 +1,42 @@
+!3 Only true page references should be changed during a rename.
+
+There are several widgets that contains strings that might match the pattern for a wiki word. When
+a page is renamed, those strings should not be affected.
+
+First build a page with lots of these ''protected'' widgets.
+
+!|script|Page Builder|
+|line|!-!path TargetPage-!|
+|line|!-http://objectmentor.com/TargetPage-!|
+|line|!-!img http://objectmentor.com/TargetPage.jpg-!|
+|line|!-{{{TargetPage}}}-!|
+|line|!-# TargetPage-!|
+|line|!- !-TargetPage-! -!|
+|line|this link should be renamed !-TargetPage-!|
+|page|!-ProtectedWidgetPage-!|
+
+Next create the target page.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-TargetPage-!|whatever|true|
+
+Then rename that page.
+
+|Response Requester.|
+|uri |status?|
+|!-TargetPage?responder=renamePage&newName=RenamedPage&refactorReferences=on-!||
+
+Next fetch the page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ProtectedWidgetPage-!|true||
+
+Make sure that the new page name does not appear.
+
+|Response Examiner.|
+|type |pattern|matchCount?|wrapped html?|
+|contents|!-RenamedPage</a>-!|1||
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/properties.xml
new file mode 100644
index 0000000000..8a51bdef73
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestProtectedWidgetsAreNotRenamed/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229653754358
+ -1142268299964872099
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/content.txt
new file mode 100644
index 0000000000..da596c048a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/content.txt
@@ -0,0 +1,29 @@
+!3 When a page is renamed, any links to that page from subpages pages are changed.
+
+First build parent & child pages where one refers to the other.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-ParentPage-!|!-refer to .ParentPage.ChildPage-!|true|
+|!-ParentPage.ChildPage-!|whatever |true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.ChildPage?responder=renamePage&newName=NewChild&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-href="ParentPage\.NewChild"-!|true|
+|contents|!-ParentPage\.ChildPage-!|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/properties.xml
new file mode 100644
index 0000000000..ae275e728c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithAbsoluteReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153177686974
+ -9094752150551407051
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/content.txt
new file mode 100644
index 0000000000..6314c2720a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/content.txt
@@ -0,0 +1,41 @@
+!3 When a page is renamed, any links to that page from subpages pages are changed.
+
+First build parent & child pages where one refers to the other.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-ParentPage-!|!-refer to nothing-!|true|
+|!-ParentPage.BrotherPage-!|!-you are my SisterPage-!|true|
+|!-ParentPage.SisterPage-!|!- thanks brother, love SisterPage-!|true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.SisterPage?responder=renamePage&newName=NewSister&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage.BrotherPage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-NewSister-!|true|
+|contents|!-SisterPage-!|false|
+
+Next fetch the Target page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage.NewSister-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-NewSister-!|true|
+|contents|!-SisterPage-!|false|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/properties.xml
new file mode 100644
index 0000000000..7dfec140ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameChildPageWithSiblingReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153177659589
+ -7332162283628447721
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/content.txt
new file mode 100644
index 0000000000..0b582f66fd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/content.txt
@@ -0,0 +1,33 @@
+!3 A page may ''not'' be renamed to a name with dots in it.
+!3 Another way of saying this is that renaming a page does not change it's position.
+
+First build the page to rename, and another page to try to move it beneath.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-MyPage-!|X|true|
+|!-TargetPage-!|X|true|
+
+Then rename that page.
+
+|Response Requester.|
+|uri |status?|
+|!-MyPage?responder=renamePage&newName=TargetPage.SomePage-!|400|
+
+Make sure that we got an error message.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|Cannot rename|true||
+
+The renamed page should not exist.
+
+!|Response Requester.|
+|uri|valid?|
+|TargetPage.SomePage?getPage&dontCreatePage|false|
+
+The old page should still exist.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-MyPage-!|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/properties.xml
new file mode 100644
index 0000000000..308b285bd5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameDoesNotMove/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173753030
+ -8487183569734544471
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/content.txt
new file mode 100644
index 0000000000..c1a414fb52
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/content.txt
@@ -0,0 +1,27 @@
+!c !3 When a page is renamed all of its child pages remain intact.
+
+First build the page with children.
+
+!|Page creator.|
+|Page name.|Page contents.|valid?|
+|ParentPage|parent|true|
+|ParentPage.ChildPage|child page|true|
+
+Then rename the parent page.
+
+!|Response Requester.|
+|uri |status?|
+|ParentPage?responder=renamePage&newName=NewParentPage||
+
+Next fetch the child page using the parent's new name.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|NewParentPage.ChildPage|true||
+
+The child page's content should be the same.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|child page|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/properties.xml
new file mode 100644
index 0000000000..bd9392822e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenameMovesChildPages/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229173773698
+ -7178127820410324012
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/content.txt
new file mode 100644
index 0000000000..e05f1f399f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/content.txt
@@ -0,0 +1,33 @@
+!3 When a page is renamed, any internal links to that page are changed.
+
+If you have a page that refers to itself, then its internal references will be changed.
+
+First build the page with a self reference.
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-MyPage-!|!-refer to self MyPage-!||true|
+
+Then rename that page.
+
+|Response Requester.|
+|uri |status?|
+|!-MyPage?responder=renamePage&newName=ThePage&refactorReferences=on-!||
+
+Next fetch the page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ThePage-!|true||
+
+Make sure that the new name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-ThePage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-MyPage-!|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/properties.xml
new file mode 100644
index 0000000000..24758dcb8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageThatRefersToItself/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213070957
+
+
+
+
+
+
+
+ 1229173797158
+ 969063307704892573
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/content.txt
new file mode 100644
index 0000000000..5a17409d23
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/content.txt
@@ -0,0 +1,29 @@
+!3 When a page is renamed, any alias links that use absolute references to subpages are changed.
+
+First build parent & child pages where one refers to the other.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-ParentPage-!|!-refer to [[link][.ParentPage.ChildPage]]-!|true|
+|!-ParentPage.ChildPage-!|whatever |true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.ChildPage?responder=renamePage&newName=NewChild&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-href="ParentPage\.NewChild"-!|true|
+|contents|!-ChildPage-!|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/properties.xml
new file mode 100644
index 0000000000..25590671eb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasAbsoluteReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153182710779
+ -1727734104643571115
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/content.txt
new file mode 100644
index 0000000000..8e9277932e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/content.txt
@@ -0,0 +1,28 @@
+!3 When a page is renamed, any alias links to that page from sibling pages are changed.
+
+First build pages where one refers to the other.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SourcePage-!|!-refer to [[link][TargetPage]]-!|true|
+|!-TargetPage-!|whatever|true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-TargetPage?responder=renamePage&newName=NewTarget&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-SourcePage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-href="NewTarget"-!|true|
+|contents|!-TargetPage-!|false|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/properties.xml
new file mode 100644
index 0000000000..f5b587fcb7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasLinkReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153182700981
+ 4625139863425684684
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/content.txt
new file mode 100644
index 0000000000..66f34189d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/content.txt
@@ -0,0 +1,29 @@
+!3 When a page is renamed, any alias links that are using subpages are changed.
+
+First build parent & child pages where one refers to the other.
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-ParentPage-!|!-refer to [[link][^ChildPage]]-!|true|
+|!-ParentPage.ChildPage-!|whatever |true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-ParentPage.ChildPage?responder=renamePage&newName=NewChild&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-href="ParentPage\.NewChild"-!|true|
+|contents|!-ChildPage-!|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/properties.xml
new file mode 100644
index 0000000000..d1c10076da
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithAliasSubLinkReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153182689488
+ -3016663024832079308
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/content.txt
new file mode 100644
index 0000000000..5840ec8c4d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/content.txt
@@ -0,0 +1,47 @@
+!3 When a page is renamed, any links to that page from backwards references pages are changed.
+
+Create the test data.
+
+!|Page creator.|
+|Page name.|Page contents.|valid?|
+|TopPage||true|
+|TopPage.TargetPage||true|
+|TopPage.MiddlePage||true|
+|TopPage.MiddlePage.MiddleTarget||true|
+|TopPage.MiddlePage.ReferingPage||true|
+|contents||true|
+
+Rename the middle page.
+
+!|Response Requester.|
+|uri |status?|
+|RenamedTopPage.MiddlePage?responder=renamePage&newName=RenamedMiddlePage&refactorReferences=on||
+
+Next fetch the referring page.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|RenamedTopPage.RenamedMiddlePage.ReferingPage|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents||true|
+|contents||true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/properties.xml
new file mode 100644
index 0000000000..5004894c33
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithBackwardsSearchReference/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ 20081213071101
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1229173861834
+ -7370650774892217411
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/content.txt
new file mode 100644
index 0000000000..6423301ca2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/content.txt
@@ -0,0 +1,31 @@
+!3 When a page is renamed, any links to that page on other pages are changed.
+
+If you have a page that refers to the renamed page, then that reference will be changed.
+
+First build sibling pages where one refers to the other
+
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SourcePage-!|!-refer to TargetPage-!|true|
+|!-TargetPage-!|some page|true|
+
+Then rename the target page.
+
+|Response Requester.|
+|uri |status?|
+|!-TargetPage?responder=renamePage&newName=NewTarget&refactorReferences=on-!||
+
+Next fetch the Source page.
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-SourcePage-!|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-NewTarget-!|true|
+|contents|!-TargetPage-!|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/properties.xml
new file mode 100644
index 0000000000..b6ff3d4117
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSiblingReference/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+ 20081020135127
+ docs
+
+
+
+
+
+
+
+ 1153182679458
+ 1940290324349855192
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/content.txt
new file mode 100644
index 0000000000..e30cfb67fd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/content.txt
@@ -0,0 +1,30 @@
+!3 When a page is renamed, any links to that page from subpages pages are changed.
+
+First build parent & child pages where one refers to the other.
+
+!|Page creator.|
+|Page name.|Page contents.|valid?|
+|ParentPage|refer to >ChildPage|true|
+|ParentPage.ChildPage|whatever|true|
+
+Then rename the target page.
+
+!|Response Requester.|
+|uri |status?|
+|ParentPage.ChildPage?responder=renamePage&newName=NewChild&refactorReferences=on||
+
+Next fetch the Source page.
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|ParentPage|true||
+
+Make sure that the new target name is present and that the old name is not.
+
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|>NewChild|true|
+|contents|href="ParentPage\.NewChild"|true|
+|contents|>ChildPage|false|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/properties.xml
new file mode 100644
index 0000000000..7cdc61c86a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/TestRenamePageWithSubpageReference/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081213071135
+
+
+
+
+
+
+
+ 1229173895549
+ -8056489792305985117
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/content.txt
new file mode 100644
index 0000000000..c60d4ae41b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/content.txt
@@ -0,0 +1,16 @@
+!3 This Suite specifies the behavior of the rename responder.
+
+The rename responder is invoked with the ''renamePage'' url. This url has an argument named ''newPageName'' that holds the new name of the page. Thus the url:{{{http://localhost/SomePage?responder=renamePage&newName=NewPage}}} will rename ''!-SomePage-!'' to ''!-NewPage-!''
+
+^TestRenamePageThatRefersToItself
+^TestRenamePageWithSiblingReference
+^TestRenamePageWithSubpageReference
+^TestRenameChildPageWithSiblingReference
+^TestRenameChildPageWithAbsoluteReference
+^TestRenamePageWithAliasLinkReference
+^TestRenamePageWithAliasSubLinkReference
+^TestRenamePageWithAliasAbsoluteReference
+^TestProtectedWidgetsAreNotRenamed
+^TestRenameDoesNotMove
+^TestRenameMovesChildPages
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/properties.xml
new file mode 100644
index 0000000000..c73e16b44c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRenameResponder/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081020135127
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..78d8603eb7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/content.txt
@@ -0,0 +1,22 @@
+!|scenario|and given page|page|with content|content|
+|given page|@page|with content|@content|
+
+!|scenario|when replacing|searchString|with|replacementString|starting from|pageName|
+|check|request page|@pageName?replace&searchString=@searchString&replacementString=@replacementString|200|
+|$RESPONSE=|content|
+
+!|scenario|replacement response from|searchString|with|replacementString|should contain|contents|
+|check|request page|$IT?replace&searchString=@searchString&replacementString=@replacementString|200|
+|ensure|content contains|@contents|
+|show|content|
+
+!|scenario|it should list|pageName|
+|ensure|content contains|@pageName|
+|show|content|
+
+!|scenario|and it should list|pageName|
+|it should list|@pageName|
+
+!|scenario|and page|pageName|should contain|content|
+|page|@pageName|should contain|@content|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/SetUp/content.txt
new file mode 100644
index 0000000000..ffb7cf1de1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/SetUp/content.txt
@@ -0,0 +1,6 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/content.txt
new file mode 100644
index 0000000000..0caa1edd28
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/content.txt
@@ -0,0 +1,17 @@
+!2 Test replacing text in a simple page hierarchy.
+Replacing text in a page hierarchy should replace any matches found on all child pages.
+----
+
+!|script |
+|given page |ParentPage |with content |some content |
+|and given page |ParentPage.SubPage |with content |some other content |
+|and given page |ParentPage.SubPage.ChildPage1|with content |non-matching page content |
+|and given page |ParentPage.ChildPage2 |with content |some more matching content |
+|when replacing |some |with |any|starting from|ParentPage|
+|it should list |>ParentPage< |
+|and it should list|>ParentPage.SubPage< |
+|and it should list|>ParentPage.ChildPage2< |
+|and page |ParentPage |should contain|any content |
+|and page |ParentPage.SubPage |should contain|any other content |
+|and page |ParentPage.SubPage.ChildPage1|should contain|non-matching page content |
+|and page |ParentPage.ChildPage2 |should contain|any more matching content |
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/properties.xml
new file mode 100644
index 0000000000..bc6b57f1b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplaceContentsInPageHierarchy/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/content.txt
new file mode 100644
index 0000000000..e7ee9d527a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/content.txt
@@ -0,0 +1,8 @@
+!2 Test replacing text using pattern groups.
+This replacement uses regular expression and matching group to exchange two words in a some page content.
+----
+
+!|script |
+|given page |SomePage |with content |group1 nogroup group2 |
+|replacement response from|(group[^ ]*) nogroup (group[^ ]*)|with |$2 irrelevant $1|should contain|SomePage|
+|page |SomePage |should contain|group2 irrelevant group1 |
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/properties.xml
new file mode 100644
index 0000000000..bc6b57f1b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacementWithPatternGroups/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/content.txt
new file mode 100644
index 0000000000..5796be0037
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/content.txt
@@ -0,0 +1,8 @@
+!2 Test replacing text on a simple page.
+The replacement should replace page contents of the current page when there are no other sibling pages.
+----
+
+!|script |
+|given page |SomePage|with content |some content |
+|replacement response from|some |with |any|should contain|SomePage|
+|page |SomePage|should contain|any content |
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/properties.xml
new file mode 100644
index 0000000000..bc6b57f1b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/TestReplacesContent/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/content.txt
new file mode 100644
index 0000000000..f54b819126
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/content.txt
@@ -0,0 +1,8 @@
+The replacement responder is invoked with a url of the form {{{SomePage?replace&searchString=search&replacementString=replacement}}}
+The search string thereby follows the convention from the [[Java API description][http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html]].
+
+----
+
+ ^TestReplacesContent
+ ^TestReplacementWithPatternGroups
+ ^TestReplaceContentsInPageHierarchy
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/properties.xml
new file mode 100644
index 0000000000..2b30ee13f8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteReplaceResponder/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/content.txt
new file mode 100644
index 0000000000..4f87d1215d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/content.txt
@@ -0,0 +1,27 @@
+When you execute a test page, !-FitNesse-! gathers up the classpaths prior to running the test. The classpaths are found in the !-!path-! widgets of the test page, and every ancestor of the test page. The paths are ordered so that paths found on the subpages come before paths found on their parents.
+----
+
+!|Library|
+|echo fixture|
+
+!define PROPERTY_DISPLAY (
+&bang;define TEST_SYSTEM {SLIM}
+&bang;define SLIM_PORT {9900}
+!path classes
+!path fitnesse.jar
+
+!|Import|
+|fitnesse.fixtures|
+
+!|script|java properties|
+|show|property|java.class.path|
+)
+
+!|script|page driver|
+|given page|ParentPage|with content|!path parentPath|
+
+-!|script|
+|given page|ParentPage.TestPage|with content|${PROPERTY_DISPLAY}|
+
+-!|script|
+|page|ParentPage.TestPage?test|should contain|classes${path.separator}fitnesse.jar${path.separator}parentPath|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/properties.xml
new file mode 100644
index 0000000000..87ca53c22e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/TestLinearClassPath/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/content.txt
new file mode 100644
index 0000000000..b5fc4813f2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/content.txt
@@ -0,0 +1,3 @@
+The suite of tests that describe the behavior of the Run Responder.
+
+^TestLinearClassPath
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/properties.xml
new file mode 100644
index 0000000000..93a42656ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteRunResponder/properties.xml
@@ -0,0 +1,8 @@
+
+
+
+ 20060717210057
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/content.txt
new file mode 100644
index 0000000000..369b03c0dd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/content.txt
@@ -0,0 +1,7 @@
+Here are some sample pages.
+|Page creator.|
+|Page name.|Page contents. |valid?|
+|!-PageAbc-! |This page has ABCs|true |
+|!-XyzPage-! |A page with XYZ|true |
+|!-BasePage-!|This is the base page| true|
+|!-BasePage.ChildPage-!|This is the child page| true |
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/properties.xml
new file mode 100644
index 0000000000..dc3995c2be
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/SamplePages/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210058
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/content.txt
new file mode 100644
index 0000000000..007444e369
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/content.txt
@@ -0,0 +1,57 @@
+!c !2 Title Search
+
+Searches for the specified string in the content of every wiki page.
+It's triggered by the following URL:
+
+http:///search?responder=search&searchType=content&searchString=
+
+!include SamplePages
+
+Search for a page !-PageAbc-!
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=content&searchString=PageAbc-!||
+
+Check for the proper title.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|Content Search|true||
+
+Since no page, not even !-PageAbc-! contains that content, no results will be returned.
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!->PageAbc<-!|false|
+|contents|No pages matched your search criteria.|true|
+
+Now search for ABC.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=content&searchString=ABC-!||
+
+Make sure we get !-PageAbc-! in the result list.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-PageAbc-!|true||
+
+Now search for xyz.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=content&searchString=xyz-!||
+
+Make sure we get !-XyzPage-! in the result list. Searches are case insensitive.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-XyzPage-!|true||
+
+Now search for the word page.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=content&searchString=page-!||
+
+Make sure we get all 4 pages in the result list.
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-PageAbc-!|true|
+|contents|!-XyzPage-!|true|
+|contents|!-BasePage-!|true|
+|contents|!-BasePage.ChildPage-!|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/properties.xml
new file mode 100644
index 0000000000..9860a02eb2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestContentSearch/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+ 1229173941114
+ -1364895840942415075
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/content.txt
new file mode 100644
index 0000000000..b59a705c01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/content.txt
@@ -0,0 +1,21 @@
+!c !2 Search Form
+
+Is located at http://-host-/...?searchForm
+
+
+Load the search form page
+|Response Requester.|
+|uri |status?|
+|!-?searchForm-!||
+
+Make sure where on the right page and that the form has all the proper text.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-Search Form-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|onload="document.forms\[0\].searchString.focus\(\)"|true|
+|contents|Search String:|true|
+|contents|Search Titles!|true|
+|contents|Search Content!|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/properties.xml
new file mode 100644
index 0000000000..0cd5a54b02
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestSearchForm/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213071251
+
+
+
+ 1229173971996
+ 8771927365021069156
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/content.txt
new file mode 100644
index 0000000000..a427bb0466
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/content.txt
@@ -0,0 +1,56 @@
+!c !2 Title Search
+
+Searches for the specified string in all of the WikiPage title in the wiki.
+It's triggered by the following URL:
+
+http:///search?responder=search&searchType=titles&searchString=
+
+!include SamplePages
+
+First let's perform a silly search. We'll look for a page named blah.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=titles&searchString=blah-!||
+
+Let's make sure the titles in and information is correct.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-Title Search Results for 'blah'-!|true||
+
+Make sure we get !-PageAbc-! in the result list.
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|No pages matched your search criteria.|true|
+
+Now search for ABC.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=titles&searchString=ABC-!||
+
+Make sure we get !-PageAbc-! in the result list.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-PageAbc-!|true||
+
+Now search for xyz.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=titles&searchString=xyz-!||
+
+Make sure we get !-XyzPage-! in the result list. Searches are case insensitive.
+|Response Examiner.|
+|type |pattern|matches?|wrapped html?|
+|contents|!-XyzPage-!|true||
+
+Now search for the word page.
+|Response Requester.|
+|uri |status?|
+|!-search?responder=search&searchType=titles&searchString=page-!||
+
+Make sure we get all 4 pages in the result list.
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|!-PageAbc-!|true|
+|contents|!-XyzPage-!|true|
+|contents|!-BasePage-!|true|
+|contents|!-BasePage.ChildPage-!|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/properties.xml
new file mode 100644
index 0000000000..f9e3368f1c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/TestTitleSearch/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+ 1229174034769
+ 5592943275585048509
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/content.txt
new file mode 100644
index 0000000000..79d784764e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/content.txt
@@ -0,0 +1,11 @@
+!c !2 Search Responder
+
+The search responder works in two fashions: Title Search and Content Search.
+
+ ^TestSearchForm
+ ^TestTitleSearch
+ ^TestContentSearch
+
+----
+Includes:
+ ^SamplePages
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/properties.xml
new file mode 100644
index 0000000000..7e4eb1c521
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteSearchResponder/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteTestResponders/SuiteExecutionStatusMessages/DoTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteTestResponders/SuiteExecutionStatusMessages/DoTest/content.txt
new file mode 100644
index 0000000000..d782ba07b3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteResponderTests/SuiteTestResponders/SuiteExecutionStatusMessages/DoTest/content.txt
@@ -0,0 +1,25 @@
+Create a simple test page
+
+!|script|Page Builder|
+|line|!-!path classes-!|
+|line|!-!path fitnesse.jar-!|
+|line|!-!|-!fitnesse.testutil.${FIXTURE_NAME}!-|-!|
+|line|!-|blah|-!|
+|page|!-TestPage-!|
+
+Now run the test page.
+
+|Response Requester.|
+|uri |valid?|
+|!-TestPage?responder=test-!|true|
+
+|Response Examiner.|
+|contents?|
+||
+
+Check the status message.
+
+|Response Examiner.|
+|type |pattern|matches?|
+|contents|
-!
+
+But first we need to create a link to remove.
+!include CreateRelativeSymbolicLink
+
+When we look at the properties page we'll see the Unlink link.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?properties|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|SymLink|true|
+|contents|Unlink |true|
+
+Now click the '''remove''' link.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?responder=symlink&removal=SymLink|303|
+
+This should remove the symbolic link and redirect back to the properties view.
+!|Response Examiner.|
+|type |pattern|matches?|contents?|
+|contents|Location: LinkingPage\?properties|true||
+
+When we look at the properties page again, the symbolic link will no longer be listed.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?properties|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|SymLink|false|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRemovingSymbolicLink/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRemovingSymbolicLink/properties.xml
new file mode 100644
index 0000000000..6e7d25c77f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRemovingSymbolicLink/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ 20081020135130
+
+
+
+ 1197477610797
+ 4640860309643798136
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/content.txt
new file mode 100644
index 0000000000..c678fed95c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/content.txt
@@ -0,0 +1,41 @@
+Renaming a Symbolic Link is done from the properties view of the page containing the link. Each link in the list will have a '''Rename''' link that will initiate the renaming. The link contains a URL of the form:
+!***********************************************< HIDDEN
+!define CODE {!-
-!}
+!define code {!-
-!}
+!define B {!--!}
+!define b {!--!}
+!define VAR {!--!}
+!define var {!--!}
+********************************************************!
+${CODE}${B}!-http://host/PathToPage?responder=symlink&rename=-!${b}${VAR}nameOfLink${var}${B}&newname=${b}${VAR}newNameForLink${var}${code}
+
+But first we need to create a link to rename.
+!include CreateRelativeSymbolicLink
+
+When we look at the properties page we'll see the rename link.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?properties|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|SymLink|true|
+|contents| Rename:|true|
+
+Now click the '''Rename''' link.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?responder=symlink&rename=SymLink&newname=NewLink|303|
+
+This should change the name of the symbolic link and redirect back to the properties view.
+!|Response Examiner.|
+|type |pattern|matches?|contents?|
+|contents|Location: LinkingPage\?properties|true||
+
+When we look at the properties page again, the symbolic link will have a different name.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage?properties|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|NewLink|true|
+|contents|SymLink|false|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/properties.xml
new file mode 100644
index 0000000000..5ae5526d6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestRenameSymbolicLink/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ 20081020135130
+
+
+
+ 1197480508771
+ 901290760874247319
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/content.txt
new file mode 100644
index 0000000000..804a97e932
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/content.txt
@@ -0,0 +1,24 @@
+After a Symbolic Link is created, it is possible to view it as a normal page as well as it's children.
+
+!include CreateRelativeSymbolicLink
+
+Now add a child on the linked page.
+!|Page creator.|
+|Page name.|valid?|
+|LinkedPage.ChildPage|true|
+
+Let's load and view the symbolic link page.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage.SymLink|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|LinkingPage.SymLink|true|
+
+Now let's load and view the child page beneath the symbolic link page.
+!|Response Requester.|
+|uri |status?|
+|LinkingPage.SymLink.ChildPage|200|
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|LinkingPage.SymLink.ChildPage|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/properties.xml
new file mode 100644
index 0000000000..7a1546ed86
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/TestSymbolicLinkBehavior/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ 20081020135130
+
+
+
+ 1197229640317
+ -8101656042803795127
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/content.txt
new file mode 100644
index 0000000000..0f89b13dbb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/content.txt
@@ -0,0 +1,14 @@
+!c !3 Symbolic Links
+
+Symbolic Links allow a user to easily create parent-child links between pages without permanently affecting the wiki structure. One common reason need for Symbolic Links is the the testing of a system on multiple environments. For example, imagine an application that site on top of an Oracle database. Hundreds of FitNesse tests have been written for this application using Oracle settings and then the team is confronted with the need to run the application on !-MySql-!. Getting both databases running under the same suite of tests can be very difficult and may result in duplicating all the tests. With Symbolic Links, the database configurations can be stored in high level pages along with appropriate path elements. Then the high-level pages may symbolically link to the test suite. In this manner one suite of tests can be executed in multiple environments.
+
+
+>TestCreatingRelativeSymbolicLink
+>TestCreatingAbsoluteSymbolicLink
+>TestCreatingSubPageSymbolicLink
+>TestCreatingBackwardSymbolicLink
+>TestRemovingSymbolicLink
+>TestSymbolicLinkBehavior
+----
+All Subpages:
+!contents
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/properties.xml
new file mode 100644
index 0000000000..3b4d24d90e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteSymbolicLinkTests/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ 20071209232537
+
+
+
+
+ 1197260737340
+ 159061011507139978
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..659fb67977
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/content.txt
@@ -0,0 +1,58 @@
+!|scenario|get history for page|page|
+|check|request page|@page?pageHistory|200|
+|$TESTPAGE=|echo|@page|
+|show|content|
+
+!|scenario|get top level history|
+|check|request page|?testHistory|200|
+|show|content|
+
+!|scenario|the number of page histories should be|number|
+|check|count of tag|TR|with id prefix|pageHistoryRow|@number|
+
+!|scenario|the page history bar for|date|should have|number|elements of class|class|
+|$date=|page history date signature of|@date|
+|check|count of tag|TD|with id|element|and with class|@class|below tag|TR|with id prefix|pageHistoryRow_$date|@number|
+
+!|scenario|the page title should be|title|
+|ensure|content contains|@title|
+
+!|scenario|the page title should be a link to|page|with value|value|
+|ensure|content contains|@value|
+
+!|scenario|the bread crumb|crumb|should be a link to|page|
+|ensure|content contains|@crumb.|
+
+!|scenario|The page history bar for|date|should have a|id|with class|class|and value|value|
+|$date=|page history date signature of|@date|
+|ensure|content of tag with id|pageHistoryRow_$date|contains|
@value
|
+|show|content of tag with id|pageHistoryRow_$date|
+
+!|scenario|The page history bar for|date|should have a date field with class|class|
+|$date=|page history date signature of|@date|
+|ensure|content of tag with id|pageHistoryRow_$date|contains|
|
+
+!|scenario|the top level history line for|page|is a link to the page history|
+|ensure|content contains|@page|
+
+!|scenario|The page history line for|date|should be a link to result|resultDate|
+|ensure|content contains|@date|
+
+!|scenario|the top level history line for|page|should have a|class|link with|sign|to result|resultDate|
+|ensure|content contains|
|
+
+!|scenario|assume time is|time|
+|freeze clock at|@time|
+
+!|scenario|with subpage|name|with content|content|
+|create page|$IT.@name|with content|@content|
+
+!|scenario|run suite|name|
+|check|request page|@name?suite|200|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SetUp/content.txt
new file mode 100644
index 0000000000..8755de0974
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SetUp/content.txt
@@ -0,0 +1,6 @@
+!include -c
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/content.txt
new file mode 100644
index 0000000000..f0ab3992a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|0|30|0|15|
+
+-!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a|fail_count|with class|fail|and value|45|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryFailCountIsSumOfFailuresAndExceptions/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/content.txt
new file mode 100644
index 0000000000..25c5ebeefa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/content.txt
@@ -0,0 +1,28 @@
+!*< hidding defines
+!define PASSING_TEST {!|script|fitnesse.slim.test.EchoScript|
+|check|echo|7|7|
+}
+
+!define FAILING_TEST {!|script|fitnesse.slim.test.EchoScript|
+|check|echo|7|8|
+}
+
+!define SUITE_ONE {!path classes
+!path fitnesse.jar
+!define TEST_SYSTEM (slim)
+!define SLIM_PORT (9000)
+}
+*!
+
+!|script|
+|assume time is|12/5/2009 00:00:00|
+|given page|SuiteOne|with content|${SUITE_ONE}|
+|with subpage|TestOne|with content|${PASSING_TEST}|
+|with subpage|TestTwo|with content|${PASSING_TEST}|
+|with subpage|TestThree|with content|${FAILING_TEST}|
+|run suite|SuiteOne|
+|get history for page|SuiteOne|
+|the number of page histories should be|1|
+|The page history bar for|5-Dec-2009|should have a|fail_count|with class|fail|and value|1|
+|The page history bar for|5-Dec-2009|should have a|pass_count|with class|pass|and value|2|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryForSuiteCountsTestsNotAsserts/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/content.txt
new file mode 100644
index 0000000000..6a19c75ae2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/content.txt
@@ -0,0 +1,12 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|SuitePage.TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get history for page|SuitePage.TestPage|
+|the number of page histories should be|1|
+|the page title should be a link to|SuitePage.TestPage|with value|TestPage|
+|the bread crumb|SuitePage|should be a link to|SuitePage|
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasBreadCrumbs/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/content.txt
new file mode 100644
index 0000000000..d434095e70
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|00|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a date field with class|pass|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenDateFieldIfNoErrors/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/content.txt
new file mode 100644
index 0000000000..7e3eb82e1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a|pass_count|with class|pass|and value|20|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreenPassCountWhenNonZero/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/content.txt
new file mode 100644
index 0000000000..bc2f523c26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|0|0|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a date field with class|ignore|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyDateIfNeitherPassNorFail/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/content.txt
new file mode 100644
index 0000000000..4ef465dd7b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|0|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a|fail_count|with class|ignore|and value|0|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyFailureCountWhenZero/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/content.txt
new file mode 100644
index 0000000000..1805b3a743
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|0|30|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a|pass_count|with class|ignore|and value|0|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasGreyPassCountWhenZero/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/content.txt
new file mode 100644
index 0000000000..22353ed2e3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|0|20|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a date field with class|fail|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedDateFieldIfFailure/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/content.txt
new file mode 100644
index 0000000000..ccaaeabdb4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+|The page history bar for|5-May-2009|should have a|fail_count|with class|fail|and value|30|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryHasRedFailureCountWhenNonZero/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/content.txt
new file mode 100644
index 0000000000..3494a1be93
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/content.txt
@@ -0,0 +1,9 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get history for page|TestPage|
+|The page history line for|05 May, 09 00:00|should be a link to result|20090505000000|
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryLineIsLinkToTestResult/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/content.txt
new file mode 100644
index 0000000000..a439de2e2f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/content.txt
@@ -0,0 +1,13 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|1|
+
+|the page history bar for|date|should have|number|elements of class|class|
+|date|number|class|
+|5-May-2009|20|pass|
+|5-May-2009|30|fail|
+|5-May-2009|0|ignore|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithOneTest/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/content.txt
new file mode 100644
index 0000000000..ca39dd014a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/content.txt
@@ -0,0 +1,17 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|TestPage|5-May-2009|20|30|0|0|
+|TestPage|6-May-2009|60|40|0|0|
+
+!|script|
+|get history for page|TestPage|
+|the number of page histories should be|2|
+
+|the page history bar for|date|should have|n|elements of class|class|
+|date|number|class|
+|5-May-2009|10|pass|
+|5-May-2009|15|fail|
+|5-May-2009|25|ignore|
+|6-May-2009|30|pass|
+|6-May-2009|20|fail|
+|6-May-2009|0|ignore|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/PageHistoryWithTwoTests/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/content.txt
new file mode 100644
index 0000000000..a5bed4727b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/content.txt
@@ -0,0 +1,2 @@
+!contents -R2 -g -p -f -h
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/properties.xml
new file mode 100644
index 0000000000..6e9e1e6e03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTestHistoryTests/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/content.txt
new file mode 100644
index 0000000000..6bf7eb0e1b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/content.txt
@@ -0,0 +1,13 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|SuitePage.TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get top level history|
+|the top level history line for|SuitePage.TestPage|is a link to the page history|
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineIsLinkToPageHistory/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/content.txt
new file mode 100644
index 0000000000..2bfd289ece
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/content.txt
@@ -0,0 +1,13 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|SuitePage.TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get top level history|
+|the top level history line for|SuitePage.TestPage|should have a|fail|link with|-|to result|20090505000000|
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineResultElementsAreLinksToTestResults/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/content.txt
new file mode 100644
index 0000000000..38e65bc4b7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/content.txt
@@ -0,0 +1,60 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|SuitePage.TestPage|1-May-2009|20|30|0|0|
+|SuitePage.TestPage|2-May-2009|20|0|0|0|
+|SuitePage.TestPage|3-May-2009|0|0|1|0|
+|SuitePage.TestPage|4-May-2009|0|0|0|1|
+|SuitePage.TestPage|5-May-2009|0|1|0|0|
+|SuitePage.TestPage|6-May-2009|0|0|0|1|
+|SuitePage.TestPage|7-May-2009|0|0|0|1|
+|SuitePage.TestPage|8-May-2009|0|0|0|1|
+|SuitePage.TestPage|9-May-2009|0|0|0|1|
+|SuitePage.TestPage|10-May-2009|0|0|0|1|
+|SuitePage.TestPage|11-May-2009|0|0|0|1|
+|SuitePage.TestPage|12-May-2009|0|0|0|1|
+|SuitePage.TestPage|13-May-2009|0|0|0|1|
+|SuitePage.TestPage|14-May-2009|0|0|0|1|
+|SuitePage.TestPage|15-May-2009|0|0|0|1|
+|SuitePage.TestPage|16-May-2009|0|0|0|1|
+|SuitePage.TestPage|17-May-2009|0|0|0|1|
+|SuitePage.TestPage|18-May-2009|0|0|0|1|
+|SuitePage.TestPage|19-May-2009|0|0|0|1|
+|SuitePage.TestPage|20-May-2009|0|0|0|1|
+|SuitePage.TestPage|21-May-2009|0|0|0|1|
+
+
+!|script|
+|get top level history|
+
+!|script|
+|the top level history line for|SuitePage.TestPage|should not have a link to|20090501000000|
+
+!|the top level history line for|page|should have a|class|link with|sign|to result|resultDate|
+|page|class|sign|resultDate|
+|SuitePage.TestPage|pass|+|20090502000000|
+|SuitePage.TestPage|fail|-|20090503000000|
+|SuitePage.TestPage|fail|-|20090504000000|
+|SuitePage.TestPage|fail|-|20090505000000|
+|SuitePage.TestPage|fail|-|20090506000000|
+|SuitePage.TestPage|fail|-|20090507000000|
+|SuitePage.TestPage|fail|-|20090508000000|
+|SuitePage.TestPage|fail|-|20090509000000|
+|SuitePage.TestPage|fail|-|20090510000000|
+|SuitePage.TestPage|fail|-|20090511000000|
+|SuitePage.TestPage|fail|-|20090512000000|
+|SuitePage.TestPage|fail|-|20090513000000|
+|SuitePage.TestPage|fail|-|20090514000000|
+|SuitePage.TestPage|fail|-|20090515000000|
+|SuitePage.TestPage|fail|-|20090516000000|
+|SuitePage.TestPage|fail|-|20090517000000|
+|SuitePage.TestPage|fail|-|20090518000000|
+|SuitePage.TestPage|fail|-|20090519000000|
+|SuitePage.TestPage|fail|-|20090520000000|
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowLastTwentyResults/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/content.txt
new file mode 100644
index 0000000000..1aa977e52a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/content.txt
@@ -0,0 +1,18 @@
+!|page history|
+|name |date |right|wrong|ignores|exceptions|
+|OneFailPage |5-May-2009|20 |30 |0 |0 |
+|OnePassPage |5-May-2009|20 |0 |0 |0 |
+|OnePassOneFail|5-May-2009|1 |0 |0 |0 |
+|OnePassOneFail|6-May-2009|0 |1 |0 |0 |
+|OneError |5-May-2009|0 |0 |0 |1 |
+
+!|script|
+|get top level history|
+
+!|class for pass fail in top level history line|
+|page |pass class|pass count|fail class|fail count|
+|OneFailPage |ignore |0 |fail |1 |
+|OnePassPage |pass |1 |ignore |0 |
+|OnePassOneFail|pass |1 |fail |1 |
+|OneError |ignore |0 |fail |1 |
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryLineShouldShowPassFailResultsInColor/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/content.txt
new file mode 100644
index 0000000000..968f26706a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/content.txt
@@ -0,0 +1,13 @@
+!|page history|
+|name|date|right|wrong|ignores|exceptions|
+|SuitePage.TestPage|5-May-2009|20|30|0|0|
+
+!|script|
+|get top level history|
+|the page title should be|Test History|
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/TopLevelHistoryShouldHaveTitle/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/content.txt
new file mode 100644
index 0000000000..990fb6f9e1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/content.txt
@@ -0,0 +1 @@
+!contents -R2 -g -p -f -h
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/properties.xml
new file mode 100644
index 0000000000..6e9e1e6e03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/SuiteTopLevelTestHistory/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/content.txt
new file mode 100644
index 0000000000..d5565d1685
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/content.txt
@@ -0,0 +1,2 @@
+!define TEST_SYSTEM {slim}
+!contents -R2 -g -p -f -h
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/properties.xml
new file mode 100644
index 0000000000..6e9e1e6e03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteTestHistory/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/content.txt
new file mode 100644
index 0000000000..a48e6b51fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/content.txt
@@ -0,0 +1,15 @@
+In this test we make sure we can fetch the virtual child page.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.ChildOne|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|You have reached Child One.|true||
+
+!note Why doesn't the page look blue? Something about the URLRequester or !-ResponseExaminer-! fixtures must be bypassing the colorization.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/properties.xml
new file mode 100644
index 0000000000..7ddf6814bb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAccessVirtualChild/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072044
+
+
+
+ 1229174444028
+ -570500463035178939
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/content.txt
new file mode 100644
index 0000000000..f777134967
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/content.txt
@@ -0,0 +1,13 @@
+An alias link to a non-existent page on a virtual child should generate a '''[?]''' that links to an edit page on the remote server, not on the local server.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.ChildWithAliasLinkToNonExistentPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|\[\?\]|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/properties.xml
new file mode 100644
index 0000000000..bd25833be0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentPageDefersToRemoteServer/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072127
+
+
+
+ 1229174487043
+ -8660594137363316073
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/content.txt
new file mode 100644
index 0000000000..3a5803beb4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/content.txt
@@ -0,0 +1,13 @@
+An alias link to a non-existent page on a virtual child should generate a '''[?]''' that links to an edit page on the remote server, not on the local server.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.ChildWithAliasLinkToNonExistentSubPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|\[\?\]|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/properties.xml
new file mode 100644
index 0000000000..0d74f2f767
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestAliasLinkToNonExistentSubPage/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072217
+
+
+
+ 1229174537699
+ -8455436134318421144
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/content.txt
new file mode 100644
index 0000000000..f4ea083175
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/content.txt
@@ -0,0 +1,15 @@
+!3 BUG. Thanks John Goodsen.
+
+If a virtual page includes another that is in the same virtual subwiki, it should be able to find it remotely.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.IncludingPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|included page|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/properties.xml
new file mode 100644
index 0000000000..09457ce559
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageInRange/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072238
+
+
+
+ 1229174558451
+ 9079472808022855710
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/content.txt
new file mode 100644
index 0000000000..d32f94250f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/content.txt
@@ -0,0 +1,19 @@
+!3 BUG. Thanks John Goodsen.
+
+If a virtual page includes another that is outside the virtual subwiki, it should still be able to find it remotely.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.IncludingPage.ChildIncludingPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|the included page 00bF|true||
+
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|Page include failed|false|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/properties.xml
new file mode 100644
index 0000000000..60e609b8f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestIncludedPageOutOfRange/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072259
+
+
+
+ 1229174579492
+ 6672562401416929673
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/content.txt
new file mode 100644
index 0000000000..a6ac96bfad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/content.txt
@@ -0,0 +1,17 @@
+!c !1 Test Deactivated
+!c !3 Due to changes in the virtual wiki feature. This test should eventually get deleted.
+
+A link to a non-existent page on a virtual child should generate a '''[?]''' that links to an edit page on the remote server, not on the local server.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.ChildWithLinkToNonExistentPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|value|
+|contents|\?|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/properties.xml
new file mode 100644
index 0000000000..1234df43aa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkDefersToRemoteServer/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081105124106
+
+
+
+ 1225906866680
+ 6773079787846968340
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/content.txt
new file mode 100644
index 0000000000..33f1db9b2e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/content.txt
@@ -0,0 +1,19 @@
+!c !1 Test Deactivated
+!c !3 Due to changes the virtual wiki features is undergoing. This test should eventually get deleted.
+
+A sub page link to a non-existent page on a virtual child should generate a '''[?]''' that edits the subpage of the remote parent.
+
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage.ChildWithSubPageLinkToNonExistentPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|value|
+|contents|\?|true||
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/properties.xml
new file mode 100644
index 0000000000..38b51007b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestQuestionMarkLinkForChildPage/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081105124132
+
+
+
+ 1225906892617
+ 2604514604538018580
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/content.txt
new file mode 100644
index 0000000000..31d2604354
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/content.txt
@@ -0,0 +1,13 @@
+This test makes sure that we can build a simple virtual wiki link. We create a page with a !-!contents-! widget and then set the virtual wiki property to point to .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage. When we fetch the page that !-!contents-! should show the !-ChildOne-! page that is below .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/FitNesse.SuiteAcceptanceTests.AcceptanceTestPage|true |
+
+!|Response Requester.|
+|uri |valid?|
+|VirtualPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|ChildOne|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/properties.xml
new file mode 100644
index 0000000000..7692f9dc42
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkConnection/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072318
+
+
+
+ 1229174598553
+ -1388058458338497579
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/content.txt
new file mode 100644
index 0000000000..bba34dc152
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/content.txt
@@ -0,0 +1,16 @@
+This test makes sure that a !-VirtualWikiNetworkError-! page is created if the virtual wiki property is set to a non-existent page.
+
+!|Page creator.|
+|Page name. |Page contents.|Page attributes. |valid?|
+|VirtualPage|!contents |VirtualWiki=http://localhost:${FITNESSE_PORT}/InvalidPage|true |
+
+!note we fetch the page twice here because the first fetch detects the error after the !-!contents-! has found all the local pages, thus preventing if from listing the !-VirtualWikiNetworkError-! page. This is probably a bug, but it's not serious enough to break this test at this point.
+
+!|Response Requester.|
+|uri |valid?||
+|VirtualPage|true|''This one mimics the save of the properties''|
+|VirtualPage|true|
+
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|VirtualWikiNetworkError|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/properties.xml
new file mode 100644
index 0000000000..7339f60a4f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/TestVirtualLinkError/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213072337
+
+
+
+ 1229174617733
+ -559825304016805882
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/content.txt
new file mode 100644
index 0000000000..651edc4ff2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/content.txt
@@ -0,0 +1,11 @@
+This suite specifies the behavior of the virtual wiki feature. These tests use some special pages that exist in ''this'' wiki. The pages are .FitNesse.SuiteAcceptanceTests.AcceptanceTestPage and its children.
+
+^TestVirtualLinkConnection
+^TestVirtualLinkError
+^TestAccessVirtualChild
+^TestQuestionMarkLinkDefersToRemoteServer
+^TestQuestionMarkLinkForChildPage
+^TestAliasLinkToNonExistentPageDefersToRemoteServer
+^TestAliasLinkToNonExistentSubPage
+^TestIncludedPageInRange
+^TestIncludedPageOutOfRange
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/properties.xml
new file mode 100644
index 0000000000..e13ddbac8e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteVirtualWikiTests/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+ 20081105123242
+
+
+
+
+
+
+
+ 1225906362023
+ 455850599843702522
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/content.txt
new file mode 100644
index 0000000000..02ea787899
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/content.txt
@@ -0,0 +1,13 @@
+'''Next create a child'''
+|script|
+|start|Page Builder|
+|line|I came first!|
+|attributes|Suite=true,Test=true,Suites=FC1|
+|page|!-ParentPage.FirstChild-!|
+
+'''Next create a sibling'''
+|script|
+|start|Page Builder|
+|line|I'm younger, but wiser|
+|attributes|!-WikiImport-!=true,Prune=true,Suites=FC2|
+|page|!-ParentPage.SecondChild-!|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/properties.xml
new file mode 100644
index 0000000000..0a48d1e8c1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsInclude/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+ 20081025194722
+
+
+ 1224982042195
+ 532420964490787760
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/content.txt
new file mode 100644
index 0000000000..113ebc90fc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/content.txt
@@ -0,0 +1,13 @@
+'''Next create a child'''
+-|script|
+|start|Page Builder|
+|line |I came first!|
+|attributes |Help=First Child's help|
+|page |!-ParentPage.FirstChild-!|
+
+'''Next create a sibling'''
+-|script|
+|start|Page Builder|
+|line |I'm younger, but wiser|
+|attributes |Help=Second Child's help|
+|page |!-ParentPage.SecondChild-!|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/properties.xml
new file mode 100644
index 0000000000..42fcfd78b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsTestsIncludeWithHelp/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1224982442282
+ 8969296584301579115
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/content.txt
new file mode 100644
index 0000000000..f7493d2848
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/content.txt
@@ -0,0 +1,11 @@
+Use !contents to list all or some of the child pages of the current page along with additional information such as help text, suite filters, some property settings, and graceful names.
+{{{Example: !contents -R2 -g -p -f -h
+ Options
+ -R ...include all of the descendent pages;
+ -Rn ...include n levels of descendent pages;
+ -f ...show suite filters--define FILTER_TOC {true} for global;
+ -g ...show graceful names in the list--define REGRACE_TOC {true} for global;
+ -h ...show help property text--define HELP_TOC {true} for global;
+ -p ...show property suffixes--define PROPERTY_TOC {true} for global;
+ defaults: Suite(*), Test(+), Imported(@), Symbolic(>), Skip(-)
+ define PROPERTY_CHARACTERS {*+@>-} to change.}}}
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/properties.xml
new file mode 100644
index 0000000000..07efb25289
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ContentsUsage/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+ 1201555617074
+ 8190442723712919484
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUp/content.txt
new file mode 100644
index 0000000000..399a283f0e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUp/content.txt
@@ -0,0 +1,6 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1234545813838
+ -1749210898043018724
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/content.txt
new file mode 100644
index 0000000000..1077041e87
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/content.txt
@@ -0,0 +1,5 @@
+!|script|
+|given page|ParentPage|
+|given page|ParentPage.ChildPage|with content|>SetUp|
+|given page|ParentPage.ChildPage.SetUp|
+|page|ParentPage.ChildPage|should have link to|ParentPage.ChildPage.SetUp|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SetUpLinkTest/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ShouldNotBeAbleToIncludeParentPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ShouldNotBeAbleToIncludeParentPage/content.txt
new file mode 100644
index 0000000000..1d9d8e659d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/ShouldNotBeAbleToIncludeParentPage/content.txt
@@ -0,0 +1,4 @@
+!|script|
+|given page|ParentPage|
+|given page|ParentPage.ChildPage|with content|&bang;include
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/content.txt
new file mode 100644
index 0000000000..48530520ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/content.txt
@@ -0,0 +1,12 @@
+{{{From David Hooker:
+
+In my page, I have the following markup:
+
+All files received within the ''do...while'' loop will be stored using the
+names "reply'''-x'''", where ''x'' is a number corresponding to which pass
+through the loop the fixture is taking.
+
+If I put two single quotes around the letter x (in red above), it starts an
+italic section, but the closing two single quotes do not stop the italics,
+and the entire rest of my page is itallics. Bold markup does not seem to have
+this problem.}}}
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/properties.xml
new file mode 100644
index 0000000000..7388852e63
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/DavidHookersBug/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090111073938
+ true
+ true
+ true
+ true
+ true
+ true
+ 1231681178844
+ 5795227355115484696
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/content.txt
new file mode 100644
index 0000000000..72ba13c26b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/content.txt
@@ -0,0 +1,46 @@
+!|widget should render |
+|wiki text |html text |
+|normal text |normal text |
+|this is ''italic'' text |this is italic text |italic widget |
+|this is '''bold''' text |this is bold text |bold widget |
+|!c This is centered text |
This is centered text
|
+|!1 header |
header
|
+|!2 header |
header
|
+|!3 header |
header
|
+|!4 header |
header
|
+|!5 header |
header
|
+|!6 header |
header
|
+|http://files/x |http://files/x |file link |
+|http://fitnesse.org |http://fitnesse.org |http link |
+|SomePage |SomePage\[\?\] |missing wiki word |
+|[[tag][WidgetPage]] |tag |link alias |
+|[[tag][http://fitnesse.org]] |tag |http link alias |
+|[[tag][http://files/x]] |tag |files alias |
+|!- !-This is literal text-!-! |This is literal text |simple literal |
+|!- !-This is ''literal'' text-! -! |!-This is ''literal'' text-! |literal text with markup |
+|!-This is normal, ''italic'', and '''bold''' text-!|This is normal, italic, and bold text |Mixed Italic and Bold |
+|!-!note hello-! |hello |
+|!-{{{prefomatted text}}}-! |
prefomatted text
|
+|!-''x''-! |x |''David Hookers bug. Single character italics didn't parse correctly.''|
+|!---strike---! |strike |
+|!-!style_myStyle(hello)-! |hello |
+|!-!style_myStyle[hello]-! |hello |
+|!-!style_myStyle{hello}-! |hello |
+|WikiWord |WikiWord\[\?\] |
+|MdM |MdM\[\?\] |
+|AbCdEfGhIjKlMnOpQrTuVxYz |AbCdEfGhIjKlMnOpQrTuVxYz\[\?\] |
+|TheNumber1 |TheNumber1\[\?\] |
+|ParenT.ChilD |ParenT.ChilD\[\?\] |
+|^SubPage |\^SubPage\[\?\]|DEPRECATED |
+|>SubPage |>SubPage\[\?\] |
+|This is an@email.com text |This is an@email.com text |email widget |
+
+>DavidHookersBug
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/properties.xml
new file mode 100644
index 0000000000..0e3f0a6d94
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/SimpleWidgets/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+ slim
+
+
+
+ 1233779413308
+ -5607632332474131237
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBackwardsSearchWidget/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBackwardsSearchWidget/content.txt
new file mode 100644
index 0000000000..23c3616ea2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBackwardsSearchWidget/content.txt
@@ -0,0 +1,14 @@
+!2 The Backwards Search widget.
+Sometimes we want to search backwards through a path to a named page. For example, if we are on the page !style_code(!-.PageOne.PageTwo.PageThree.PageFour-!) we might be able to say !style_code(!-<PageTwo-!) to search backwards to !style_code(!-PageTwo-!). Now let's say there is a page named !style_code(!-.PageOne.PageTwo.AnotherPage-!) and we are on !style_code(!-.PageOne.PageTwo.PageThree.PageFour-!) We could say !style_code(!-<PageTwo.AnotherPage-!)
+
+!|script|
+|given page|PageOne.PageTwo.AnotherPage|
+||
+|given page|PageOne.PageTwo.PageThree.PageFour|with content|
+
+
+ 20090326094124
+
+
+
+
+ 1233786481267
+ 3864084191741944938
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/content.txt
new file mode 100644
index 0000000000..f7d262a927
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/content.txt
@@ -0,0 +1,8 @@
+!2 Test the rendering of a broken WikiPageReference.
+ * A broken WikiPageReference is a reference to a page that does not not exist.
+ * It should be rendered as a '''[?]'''. The '''[?]''' is a link to the wiki page followed by '''?edit'''
+----
+!|script|
+|given page|ReferencePage|with content|SomePage|
+|it should have creating link to|SomePage|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/properties.xml
new file mode 100644
index 0000000000..575331e142
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestBrokenWikiWordLink/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204162921
+
+
+
+ 1233786561543
+ 4684496641888779625
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/content.txt
new file mode 100644
index 0000000000..6a5e679400
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/content.txt
@@ -0,0 +1,5 @@
+Classpath widgets can cantain variables. The text of !path widgets do not get processed with exception of variable references.
+
+!|script|
+|given page|ClasspathTestPage|with content|!define BASE_PATH {/some/path/}!- -!!path ${BASE_PATH}blah.jar|
+|it should contain|classpath: /some/path/blah.jar|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/properties.xml
new file mode 100644
index 0000000000..14757a486f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathContainingVariable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204161702
+
+
+
+ 1233785822993
+ -6227523914168338832
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/content.txt
new file mode 100644
index 0000000000..32b945c511
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/content.txt
@@ -0,0 +1,9 @@
+!3 BUG - when you define a classpath entry on a line immediately following a variable definition, the classpath entry is not processed and the fixtures are therefore not found.
+----
+
+First, build a page with variable definitions followed immediately by a classpath definition. Also include a test that should pass.
+
+!|script|
+|given page|ClasspathTestPage|with content|!define PI {3.141592}!- -!!path classes!- -!!path fitnesse.jar!- -!&bar;fitnesse.testutil.PassFixture&bar;!- -!|
+|its test results should contain|PassFixture|
+|and should not contain|Exception|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/properties.xml
new file mode 100644
index 0000000000..c813571718
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestClasspathPrecededByDefine/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+ 1238173957690
+ 4585069183088655392
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/content.txt
new file mode 100644
index 0000000000..f82f555486
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/content.txt
@@ -0,0 +1,94 @@
+!2 Test Collapsable sections
+When a section of wiki test is surrounded by:
+ * !-!*** ... ***!-! it is rendered as a collapsable section;
+ * !-!**> ... ***!-! it is rendered as a collapsed section;
+ * !-!**< ... ***!-! it is rendered as a invisible section;
+
+The number of stars is optional; at least one is required at the start and end.
+The formal format for using this widget involved multiple lines and looks like so:
+#---------------------------------------------------
+{{{TOP
+!*** section title
+content
+more content
+****************!
+BOTTOM
+}}}
+
+and will be rendered as:
+TOP
+!*** section title
+content
+more content
+****************!
+BOTTOM
+#---------------------------------------------------
+-----
+{{{TOP
+!**> section title
+content
+more content
+****************!
+BOTTOM
+}}}
+
+and will be rendered as:
+TOP
+!***> section title
+content
+more content
+****************!
+BOTTOM
+#---------------------------------------------------
+-----
+{{{TOP
+!**< section title
+content
+more content
+****************!
+BOTTOM
+}}}
+
+and will be rendered as:
+TOP
+!**< section title
+content
+more content
+****************!
+BOTTOM
+
+!*> Scenarios
+!|scenario|given a page with a collapsible section containing|text|
+|given page|PageWithCollapsibleSection|with content|!** My Section!- -!@text!- -!****!|
+
+!|scenario|given a page with a collapsed section containing|text|
+|given page|PageWithCollapsibleSection|with content|!*> My Section!- -!@text!- -!****!|
+
+!|scenario|given a page with an invisible section containing|text|
+|given page|PageWithCollapsibleSection|with content|!*< My Section!- -!@text!- -!****!|
+
+!|scenario|the content|text|should be in a div of class|class|
+|it should match|div.*class="@class".*>@text( )?
|
+
+!|scenario|it should have|text|within a|class|div|
+|the content|@text|should be in a div of class|@class|
+|and it should have a collapsible div|
+
+!|scenario|and it should have a collapsible div|
+|and should contain|div class="collapse_rim">|
+|and should contain|a href="javascript:expandAll()|
+|and should contain|a href="javascript:collapseAll()|
+|and should contain|a href="javascript:toggleCollapsable|
+|and should contain|span class="meta">My Section|
+
+*!
+
+!|script|
+|given a page with a collapsible section containing|line one!- -!line two|
+|it should have|line one!- -!line two|within a|collapsable|div|
+||
+|given a page with a collapsed section containing|line one!- -!line two|
+|it should have|line one!- -!line two|within a|hidden|div|
+||
+|given a page with an invisible section containing|line one!- -!line two|
+|the content|line one!- -!line two|should be in a div of class|invisible|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/properties.xml
new file mode 100644
index 0000000000..3753ea6009
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestCollapsableSections/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204172330
+
+
+
+ 1233789810186
+ -7128568304062498080
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/content.txt
new file mode 100644
index 0000000000..a41b4803af
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/content.txt
@@ -0,0 +1,6 @@
+!3 This page tests comments on a wiki page.
+
+!|script|
+|given page|CommentTextPage|with content|one!- -!#two!- -!three|
+|it should contain|one!- -!three|
+|and should not contain|two|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/properties.xml
new file mode 100644
index 0000000000..02949d86f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestComment/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1233873345782
+ 4734847856303348003
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/content.txt
new file mode 100644
index 0000000000..2100e34301
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/content.txt
@@ -0,0 +1,11 @@
+!3 !-!contents-!
+
+Ensure the contents widget builds links to child pages.
+
+!|script|
+|given page|ParentPage|with content|!contents|
+|given page|ParentPage.FirstChild|
+|given page|ParentPage.SecondChild|
+|page|ParentPage|should have link to|ParentPage.FirstChild|
+|and it should have link to|ParentPage.SecondChild|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/properties.xml
new file mode 100644
index 0000000000..2e61b8b66d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContents/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ 20090312121359
+
+
+
+
+ 1234380940807
+ -2763713559722277881
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsFilters/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsFilters/content.txt
new file mode 100644
index 0000000000..827fb3bb91
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsFilters/content.txt
@@ -0,0 +1,45 @@
+!3 !-!contents-! with Suite Filters Option
+!include -seamless ContentsUsage
+!3 Explicit Property Option
+'''First create the parent page.'''
+|script|
+|start|Page Builder|
+|line|I'm the parent|
+|line|!-!contents -f-!|
+|page|!-ParentPage-!|
+
+!include -seamless ContentsTestsInclude
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to be sure that the child pages are included'''
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild">FirstChild \(FC1\)|true|
+|contents|a href="ParentPage.SecondChild">SecondChild \(FC2\)|true|
+
+!3 Indirect via PROPERTY_TOC Variable
+'''First create the parent page.'''
+|script|
+|start|Page Builder|
+|line|I'm also the parent|
+|line|!-!define FILTER_TOC {true}-!|
+|line|!-!contents-!|
+|line|!-!define FILTER_TOC {false}-!|
+|page|!-ParentPage-!|
+
+!include -seamless ContentsTestsInclude
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to be sure that the child pages are included'''
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild">FirstChild \(FC1\)SecondChild \(FC2\)
+
+
+ 20081025194852
+
+
+
+
+ 1224982132762
+ -2323379029053860621
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsHelp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsHelp/content.txt
new file mode 100644
index 0000000000..5de39688e4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsHelp/content.txt
@@ -0,0 +1,71 @@
+!3 !-!contents-! with Help Text Option
+!include -seamless ContentsUsage
+#-------------------------------------------------
+!3 Test Rollover Help
+'''First create the parent page.'''
+-|script|
+|start|Page Builder|
+|line|I'm the parent|
+|line|!-!contents-!|
+|page|!-ParentPage-!|
+
+!include ContentsTestsIncludeWithHelp
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to insure rollover help text exists'''
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild" title="First Child's help">FirstChildSecondChildFirstChild: First Child's helpSecondChild: Second Child's helpFirstChild: First Child's helpSecondChild: Second Child's help
+
+
+
+
+
+
+
+
+
+
+
+ 1224982407810
+ -6939253104715124315
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsProperties/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsProperties/content.txt
new file mode 100644
index 0000000000..a86ea69757
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsProperties/content.txt
@@ -0,0 +1,45 @@
+!3 !-!contents-! with Properties Option
+!include -seamless ContentsUsage
+!3 Explicit Property Option
+'''First create the parent page.'''
+|Script|
+|start|Page Builder|
+|line|I'm the parent|
+|line|!-!contents -p-!|
+|page|!-ParentPage-!|
+
+!include ContentsTestsInclude
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to be sure that the child pages are included'''
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild">FirstChild \*\+SecondChild @-FirstChild \*\+SecondChild @-
+
+
+ 20081025195542
+
+
+
+
+ 1224982542847
+ -6265898487473210936
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsRegraced/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsRegraced/content.txt
new file mode 100644
index 0000000000..d68655659a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsRegraced/content.txt
@@ -0,0 +1,45 @@
+!3 !-!contents-! with Graceful option
+!include -seamless ContentsUsage
+!3 Explicit Graceful Option
+'''First create the parent page.'''
+|script|
+|start|Page Builder|
+|line|I'm the parent|
+|line|!-!contents -g-!|
+|page|!-ParentPage-!|
+
+!include -seamless ContentsTestsInclude
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to be sure that the child pages are included'''
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild">First ChildSecond ChildFirst ChildSecond Child
+
+
+ 20081025195650
+
+
+
+
+ 1224982610036
+ -8086447222767895818
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsWithRecursion/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsWithRecursion/content.txt
new file mode 100644
index 0000000000..b27de60403
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestContentsWithRecursion/content.txt
@@ -0,0 +1,34 @@
+!3 !-!contents-! with Recursive option
+!include -seamless ContentsUsage
+'''First create the parent page.'''
+|script|
+|start|Page Builder|
+|line|I'm the parent|
+|line|!-!contents-! -R|
+|page|!-ParentPage-!|
+
+!include -seamless ContentsTestsInclude
+'''Next create a grandchild'''
+|script|
+|start|Page Builder|
+|line|You're too young to be grandparents|
+|page|!-ParentPage.FirstChild.GrandChild-!|
+
+'''Then request the parent page.'''
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParentPage-!|true||
+
+'''...and examine the requested page to be sure that the descendent pages are included'''
+#
+!|Response Examiner.|
+|type|pattern|matches?|
+|contents|a href="ParentPage.FirstChild">FirstChildGrandChildSecondChild
+
+
+ 20081025195831
+
+
+
+ 1224982711490
+ 7863389155429661458
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/content.txt
new file mode 100644
index 0000000000..1cfb756698
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/content.txt
@@ -0,0 +1,19 @@
+This page tests bold text on a wiki page.
+
+First create a page with bold text on it.
+
+!|Page Creator|
+|page name|page contents|page attributes|valid?|
+|EmailPage|This is an@email.com text||true|
+
+Then request that page
+
+!|Response Requester|
+|uri|valid?|
+|EmailPage|true|
+
+Examine the page to be sure it has the bold text
+
+!|Response Examiner|
+|type|pattern|matches?|value|
+|contents|This is an@email.com text|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/properties.xml
new file mode 100644
index 0000000000..6a67452920
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEmailWidget/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213003859
+
+
+
+ 1229150339876
+ -5994279846297980652
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/content.txt
new file mode 100644
index 0000000000..782dd31aea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/content.txt
@@ -0,0 +1,291 @@
+!1 Evaluator of expressions: $!--!{= =}
+!2 Syntax
+'''{{{ $!--!{= [format:] expression =} }}}'''
+!3 Expression
+An expression may be a combination of constants, variables, and opertors. All internal calculations use the Java ''double'' numeric type.
+!3 Format
+A format is a specifier that describes the rendering of the numeric result. The format specifier is described by the Java 5 String class's .format() method:
+{{{ %[flags][width][.precision]conversion}}} *!note N.B., The ''[argument_index$]'' specifier is not permitted.
+!3 Links
+ * [[format string][http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax]]
+ * [[String.format()][http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#format(java.lang.String,%20java.lang.Object...)]]
+ * [[String class][http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html]]
+!3 Examples
+{{{ $!--!{= 12 + 23 =} renders (sand brackets) as [35]
+ $!--!{=%5.4f:1.414=} : [1.4140]
+ $!--!{=%05X:14+14=} : [0001C]
+ $!--!{= %-10s : 123 =} : [123 ]}}}
+!3 Operators supported
+|Comment| !note Spaces between items are optional |
+|'''Operator'''|'''Argument'''|'''Description'''|
+|!c ''arg'' | ''constant or variable'' | Examples: 3, 12.4, 4E+8, $!--!{VALUE}, $!--!{some.var} |
+|!c ''expr'' |!c ''expression'' | Any valid combination of arguments and optional operations and parentheses|
+|!c '''+''' |!c ''expr'' + ''expr'' | Addition |
+|!c '''-''' |!c -''expr'' | Unary negation |
+|!c '''-''' |!c ''expr'' - ''expr'' | Subtraction |
+|!c '''!-*-!'''|!c ''expr'' !-*-! ''expr'' | Multiplication |
+|!c '''/''' |!c ''expr'' / ''expr'' | Division |
+|!c '''^''' |!c ''expr'' ^ ''expr'' | Exponentiation |
+|!c '''sin''' |!c sin ''expr'' | Radian Sine of ''expr'' |
+|!c '''cos''' |!c cos ''expr'' | Radian Cosine of ''expr'' |
+|!c '''tan '''|!c cos ''expr'' | Radian Tangent of ''expr'' |
+|!c '''( )''' |!c ( ''expr'' ) | Parenthetical grouping of an expression |
+#-----------------------------------------------------------------
+-----
+!3 Test Blank Expressions
+''' Build blank expression page '''
+!|script|
+| start | Page Builder|
+| line |~1a:${==}~|
+| line |~1b:${= =}~|
+| line |~1c:${= =}~|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~1a:~ |true |
+| contents | ~1b:~ |true |
+| contents | ~1c:~ |true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test Single Argument Expressions
+''' Build expression page '''
+!|script|
+| start | Page Builder|
+| line |!- ~2a:${=3=}~ -!|
+| line |!- ~2b:${= 4.2 =}~ -!|
+| line |!- ~2c:${= 2E+1 =}~ -!|
+| line |!- ~2d:${= 2.3E+42 =}~ -!|
+| line |!- ~2e:${= 4.2E + 24 =}~ -!|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~2a:3~ |true |
+| contents | ~2b:4.2~ |true |
+| contents | ~2c:20~ |true |
+| contents | ~2d:2.3E+42~|true |
+| contents | ~2e:4.2E+24~|true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test spaces around experssions
+''' Build expression page '''
+!|script|
+| start | Page Builder|
+| line |!- ~3a:${=1+1=}~ -!|
+| line |!- ~3b:${=2 + 2=}~ -!|
+| line |!- ~3c:${= 3 + 3=}~ -!|
+| line |!- ~3d:${=4 + 4 =}~ -!|
+| line |!- ~3e:${=5 +5 =}~ -!|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~3a:2~ |true |
+| contents | ~3b:4~ |true |
+| contents | ~3c:6~ |true |
+| contents | ~3d:8~ |true |
+| contents | ~3e:10~ |true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test each operator
+''' Build expression page '''
+!|script|
+| start | Page Builder|
+| line |!- ~4plus:${= 1 + 2 =}~ -!|
+| line |!- ~4minus:${= 2 - 3 =}~ -!|
+| line |!- ~4unary:${= -12 =}~ -!|
+| line |!- ~4mult:${= 3 * 4 =}~ -!|
+| line |!- ~4div:${= 4 / 5 =}~ -!|
+| line |!- ~4exp:${=%2d: 5 ^ 6 =}~ -!|
+| line |!- ~4sin1:${=%5.4f: sin0.39269875 =}~ -!|
+| line |!- ~4sin2:${=%5.4f: sin 0.39269875 =}~ -!|
+| line |!- ~4sin3:${=%5.4f: sin(0.39269875) =}~ -!|
+| line |!- ~4sin4:${=%5.4f: sin(3.14159/8) =}~ -!|
+| line |!- ~4sin5:${=%5.4f: sin (3.14159/8) =}~ -!|
+| line |!- ~4cos:${=%5.4f: cos(3.14159 / 8) =}~ -!|
+| line |!- ~4tan:${=%5.4f: tan(3.14159 / 8) =}~ -!|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~4plus:3~ |true |
+| contents | ~4minus:-1~ |true |
+| contents | ~4unary:-12~ |true |
+| contents | ~4mult:12~ |true |
+| contents | ~4div:0.8~ |true |
+| contents | ~4exp:15625~ |true |
+| contents | ~4sin1:0.3827~ |true |
+| contents | ~4sin2:0.3827~ |true |
+| contents | ~4sin3:0.3827~ |true |
+| contents | ~4sin4:0.3827~ |true |
+| contents | ~4sin5:0.3827~ |true |
+| contents | ~4cos:0.9239~ |true |
+| contents | ~4tan:0.4142~ |true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test parentheses
+''' Build expression page '''
+!|script|
+| start | Page Builder|
+| line |!- ~5a:${= 2 * 3 + 4 / 2 - 3 =}~ -!|
+| line |!- ~5b:${= 2 * ( 3 + 4 ) / 2 - 3 =}~ -!|
+| line |!- ~5c:${= 2 * ( 3 + 4 ) / ( 2 - 3 ) =}~ -!|
+| line |!- ~5d:${= 2 * ( 3 + ( 4 / ( 2 - 3 ) ) ) =}~ -!|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~5a:5~ |true |
+| contents | ~5b:4~ |true |
+| contents | ~5c:-14~ |true |
+| contents | ~5d:-2~ |true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test formatting
+''' Build expression page '''
+!|script|
+| start | Page Builder|
+| line |!- ~6a:${=%d:2 =}~ -!|
+| line |!- ~6b:${= %d : 3.2 =}~ -!|
+| line |!- ~6c:${=%02d: 2 + 1 =}~ -!|
+| line |!- ~6d:${= %4.4f: 2.2 / 3.4 =}~ -!|
+| line |!- ~6e:${=%03o: 16 =}~ -!|
+| line |!- ~6f:${= %03o : 18 =}~ -!|
+| line |!- ~6g:${=%03x: 26 =}~ -!|
+| line |!- ~6h:${=%03X: 27 =}~ -!|
+| line |!- ~6i:${= %-12s : 123 =}~ -!|
+| line |!- ~6j:${=%TY: 73422123127 =}~ -!|
+| line |!- ~6k:${=%b: 27 =}~ -!|
+| line |!- ~6l:${=%b: 0 =}~ -!|
+| line |!- ~6m:${=%B: 27 =}~ -!|
+| line |!- ~6n:${=%B: 0 =}~ -!|
+| line |!- ~6o:${= % d : 3.2 =}~ -!|
+| page | ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+| uri | valid? |
+| ExpressionPage | true |
+
+!**> Contents
+!|Response Examiner|
+|type | string? |
+|contents| |
+
+!|Response Examiner|
+|type | wrapped html? |
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+| type | pattern |matches?|
+| contents | ~6a:2~ |true |
+| contents | ~6b:3~ |true |
+| contents | ~6c:03~ |true |
+| contents | ~6d:0.6471~ |true |
+| contents | ~6e:020~ |true |
+| contents | ~6f:022~ |true |
+| contents | ~6g:01a~ |true |
+| contents | ~6h:01B~ |true |
+| contents | ~6i:123 ~|true|
+| contents | ~6j:1972~ |true |
+| contents | ~6k:true~ |true |
+| contents | ~6l:false~ |true |
+| contents | ~6m:true~ |true |
+| contents | ~6n:false~ |true |
+| contents | ~6o: 3~ |true |
+
+#---[EOT]---
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/properties.xml
new file mode 100644
index 0000000000..92623a952c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestEvaluator/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081213004646
+
+
+
+
+ 1229150806385
+ 3090056070224906711
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/content.txt
new file mode 100644
index 0000000000..2edbcacfd4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/content.txt
@@ -0,0 +1,65 @@
+!2 Test that ''existing'' WikiPageReference tokens are converted to links.
+ * A WikiPageReference is said to be ''existing'' if the page to which it refers already exists in the wiki.
+ * A WikiPageReference can be a simple .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord, or it can be a WikiPagePath.
+ * A WikiPageReference that begins with a dot ("'''.'''") is taken to be relative to the ''root'' of the wiki.
+ * A WikiPageReference that does not begin with a dot is taken to be relative to the parent of the current page.
+----
+!3 Test simple relative WikiPageReference.
+ * Create pages at the root level. One page refers to the other.
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SomePage-!|some page|true|
+|!-RelativeReferencePage-!|!-SomePage-!|true|
+ * Then request the page with the reference
+|Response Requester.|
+|uri|valid?|
+|!-RelativeReferencePage-!|true|
+ * Make sure the rendered page has a link.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-SomePage-!|true||
+----
+!3 Test simple global .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord
+ * Create pages at the root level. One page refers to the other using a global WikiPageReference.
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-GlobalReferencePage-!|!-.SomePage-!|true|
+ * Then request the page with the reference
+|Response Requester.|
+|uri|valid?|
+|!-GlobalReferencePage-!|true|
+ * Make sure the rendered page has a link.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-.SomePage-!|true||
+----
+!3 Test relative WikiPagePath
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SomePage.SubPage-!|!-sub page-!|true|
+|!-SomePage.RelativeReference-!|!-SubPage-!|true|
+ * Then request the page with the reference
+|Response Requester.|
+|uri|valid?|
+|!-SomePage.RelativeReference-!|true|
+ * Make sure the link is to !-SomePage.SubPage-!
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-SubPage-!|true||
+----
+!3 Test global WikiPagePath
+|Page creator.|
+|Page name.|Page contents.|valid?|
+|!-SomePage.GlobalReference-!|!-.SomePage.SubPage-!|true|
+ * Then request the page with the reference
+|Response Requester.|
+|uri|valid?|
+|!-SomePage.GlobalReference-!|true|
+ * Make sure the link is to !-SomePage.SubPage-!
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-.SomePage.SubPage-!|true||
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/properties.xml
new file mode 100644
index 0000000000..603c12948e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExistingWikiWordLink/properties.xml
@@ -0,0 +1,8 @@
+
+
+
+ 20081020135123
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/content.txt
new file mode 100644
index 0000000000..ee885ab8e0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/content.txt
@@ -0,0 +1,223 @@
+!1 Expressions using the ${= =} mark up
+!3 Syntax:
+'''{{{ $!--!{= expression =} }}}'''
+
+An expression may be a combination of constants, variables, and opertors. All internal calculations use the Java ''double'' numeric type.
+
+!3 Operators supported
+|Comment |!note Spaces between items are optional |
+|'''Operator'''|'''Argument''' |'''Description''' |
+|!c ''arg'' |''constant or variable'' |Examples: 3 12.4 4E+8 $!--!{VALUE} $!--!{some.var} |
+|!c ''expr'' |!c ''expression'' |Any valid combination of arguments and optional operations and parentheses|
+|!c '''+''' |!c ''expr'' + ''expr'' |Addition |
+|!c '''-''' |!c -''expr'' |Unary negation |
+|!c '''-''' |!c ''expr'' - ''expr'' |Subtraction |
+|!c '''!-*-!'''|!c ''expr'' !-*-! ''expr''|Multiplication |
+|!c '''/''' |!c ''expr'' / ''expr'' |Division |
+|!c '''^''' |!c ''expr'' ^ ''expr'' |Exponentiation |
+|!c '''sin''' |!c sin ''expr'' |Radian Sine of ''expr'' |
+|!c '''cos''' |!c cos ''expr'' |Radian Cosine of ''expr'' |
+|!c '''tan ''' |!c cos ''expr'' |Radian Tangent of ''expr'' |
+|!c '''( )''' |!c ( ''expr'' ) |Parenthetical grouping of an expression |
+#-----------------------------------------------------------------
+-----
+!3 Test Blank Expressions
+''' Build blank expression page '''
+!|script|
+|start|Page Builder |
+|line|!- ~1a:${==}~ -!|
+|line|!- ~1b:${= =}~ -!|
+|line|!- ~1c:${= =}~ -!|
+|page|ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+|uri |valid?|
+|ExpressionPage|true |
+
+!**> Contents
+!|Response Examiner|
+|type |string?|
+|contents| |
+
+!|Response Examiner|
+|type |wrapped html?|
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+|type |pattern|matches?|
+|contents|~1a:~ |true |
+|contents|~1b:~ |true |
+|contents|~1c:~ |true |
+
+-----
+!3 Test Single Argument Expressions
+''' Build expression page '''
+!|script|
+|start|Page Builder |
+|line|!- ~2a:${=3=}~ -! |
+|line|!- ~2b:${= 4.2 =}~ -! |
+|line|!- ~2c:${= 2E+1 =}~ -! |
+|line|!- ~2d:${= 2.3E+42 =}~ -! |
+|line|!- ~2e:${= 4.2E + 24 =}~ -!|
+|page|ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+|uri |valid?|
+|ExpressionPage|true |
+
+!**> Contents
+!|Response Examiner|
+|type |string?|
+|contents| |
+
+!|Response Examiner|
+|type |wrapped html?|
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+|type |pattern |matches?|
+|contents|~2a:3~ |true |
+|contents|~2b:4.2~ |true |
+|contents|~2c:20~ |true |
+|contents|~2d:2.3E+42~|true |
+|contents|~2e:4.2E+24~|true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test spaces around experssions
+''' Build expression page '''
+!|script|
+|start|Page Builder |
+|line|!- ~3a:${=1+1=}~ -! |
+|line|!- ~3b:${=2 + 2=}~ -! |
+|line|!- ~3c:${= 3 + 3=}~ -!|
+|line|!- ~3d:${=4 + 4 =}~ -!|
+|line|!- ~3e:${=5 +5 =}~ -! |
+|page|ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+|uri |valid?|
+|ExpressionPage|true |
+
+!**> Contents
+!|Response Examiner|
+|type |string?|
+|contents| |
+
+!|Response Examiner|
+|type |wrapped html?|
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+|type |pattern|matches?|
+|contents|~3a:2~ |true |
+|contents|~3b:4~ |true |
+|contents|~3c:6~ |true |
+|contents|~3d:8~ |true |
+|contents|~3e:10~|true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test each operator
+''' Build expression page '''
+!|script|
+|start|Page Builder |
+|line|!- ~4plus:${= 1 + 2 =}~ -! |
+|line|!- ~4minus:${= 2 - 3 =}~ -! |
+|line|!- ~4unary:${= -12 =}~ -! |
+|line|!- ~4mult:${= 3 * 4 =}~ -! |
+|line|!- ~4div:${= 4 / 5 =}~ -! |
+|line|!- ~4exp:${=%2d: 5 ^ 6 =}~ -! |
+|line|!- ~4sin1:${=%5.4f: sin0.39269875 =}~ -!|
+|line|!- ~4sin2:${=%5.4f: sin 0.39269875 =}~ -!|
+|line|!- ~4sin3:${=%5.4f: sin(0.39269875) =}~ -!|
+|line|!- ~4sin4:${=%5.4f: sin(3.14159/8) =}~ -!|
+|line|!- ~4sin5:${=%5.4f: sin (3.14159/8) =}~ -!|
+|line|!- ~4cos:${=%5.4f: cos(3.14159 / 8) =}~ -!|
+|line|!- ~4tan:${=%5.4f: tan(3.14159 / 8) =}~ -!|
+|page|ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+|uri |valid?|
+|ExpressionPage|true |
+
+!**> Contents
+!|Response Examiner|
+|type |string?|
+|contents| |
+
+!|Response Examiner|
+|type |wrapped html?|
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+|type |pattern |matches?|
+|contents|~4plus:3~ |true |
+|contents|~4minus:-1~ |true |
+|contents|~4unary:-12~ |true |
+|contents|~4mult:12~ |true |
+|contents|~4div:0.8~ |true |
+|contents|~4exp:15625~ |true |
+|contents|~4sin1:0.3827~|true |
+|contents|~4sin2:0.3827~|true |
+|contents|~4sin3:0.3827~|true |
+|contents|~4sin4:0.3827~|true |
+|contents|~4sin5:0.3827~|true |
+|contents|~4cos:0.9239~ |true |
+|contents|~4tan:0.4142~ |true |
+
+#-----------------------------------------------------------------
+-----
+!3 Test parentheses
+''' Build expression page '''
+!|script|
+|start|Page Builder |
+|line|!- ~5a:${= 2 * 3 + 4 / 2 - 3 =}~ -!|
+|line|!- ~5b:${= 2 * ( 3 + 4 ) / 2 - 3 =}~ -!|
+|line|!- ~5c:${= 2 * ( 3 + 4 ) / ( 2 - 3 ) =}~ -!|
+|line|!- ~5d:${= 2 * ( 3 + ( 4 / ( 2 - 3 ) ) ) =}~ -!|
+|page|ExpressionPage |
+
+''' Render it '''
+!|Response Requester|
+|uri |valid?|
+|ExpressionPage|true |
+
+!**> Contents
+!|Response Examiner|
+|type |string?|
+|contents| |
+
+!|Response Examiner|
+|type |wrapped html?|
+|contents| |
+
+***!
+
+''' Verify results '''
+!|Response Examiner|
+|type |pattern |matches?|
+|contents|~5a:5~ |true |
+|contents|~5b:4~ |true |
+|contents|~5c:-14~|true |
+|contents|~5d:-2~ |true |
+
+#-----------------------------------------------------------------
+#-----------------------------------------------------------------
+#-----------------------------------------------------------------
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/properties.xml
new file mode 100644
index 0000000000..fea0c940cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestExpression/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20090204155209
+
+
+
+
+ 1233784329733
+ -8383620453588142810
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/content.txt
new file mode 100644
index 0000000000..edfc12c3b5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/content.txt
@@ -0,0 +1,32 @@
+!2 The GT Sub Page widget.
+!note We are in the process of deprecating the ^ widget and replacing it with >. This test proves that the > widget works.
+
+Sometimes we want to conveniently create a link to a sub page. We could do this by using the syntax ''!-SuperPage.SubPage-!'', but this is inconvenient. Instead we want to be able to say ''!->SubPage-!''.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage|>SubPage||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+The widget should translate into a ? link of the form:
+ * ''!->SubPage-![?]''
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|>SubPage\[\?\]|true||
+
+If the sub page is already present, then the widget should translate into a normal link.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage.SubPage|nothing||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|>SubPage|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/properties.xml
new file mode 100644
index 0000000000..952acab587
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidget/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081213004747
+
+
+
+
+ 1229150867919
+ -7497153667046787360
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/content.txt
new file mode 100644
index 0000000000..6d8f24ad74
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/content.txt
@@ -0,0 +1,33 @@
+!2 The Sub Page widget in an alias.
+
+!note we are deprecating the ^ syntax in favor of the > syntax.
+
+Sometimes we want to create an alias to a subpage link as follows: !-[[click here][>SubPage]]-!.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage|[[tag][>SubPage]]||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+The widget should translate into a ? link of the form:
+ * ''tag[?]''
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|tag\[\?\]|true||
+
+If the sub page is already present, then the widget should translate into a normal link.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage.SubPage|nothing||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|tag|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/properties.xml
new file mode 100644
index 0000000000..83d0df1118
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestGtSubPageWidgetInAlias/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081213004831
+
+
+
+
+ 1229150911604
+ -788386058501389389
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/content.txt
new file mode 100644
index 0000000000..125c3285c4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/content.txt
@@ -0,0 +1,8 @@
+!|script|
+|given page|HashPage|with content|!-!{a:b}-!|
+|it should match|.table class="hash_table">.*tr class="hash_row">.*td class="hash_key">.*a.*/td>.*td class="hash_value">.*b.*/td>.*/tr>.*/tr>.*/table>|
+
+!|script|
+|given page|HashPageTwo|with content|!-!{a:b,c:d}-!|
+|it should match|.tr class="hash_row">.*td class="hash_key">.*a.*/td>.*td class="hash_value">.*b.*/td>.*/tr>|
+|it should match|.tr class="hash_row">.*td class="hash_key">.*c.*/td>.*td class="hash_value">.*d.*/td>.*/tr>|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHash/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/content.txt
new file mode 100644
index 0000000000..2443d98bde
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/content.txt
@@ -0,0 +1,21 @@
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-HelpTestPage-!| !-some content !help-! | Help= Sample help string|true|
+|!-HelpTestPage2-!| !-some content !help -editable-! | |true|
+
+|Response Requester.|
+|uri|valid?|
+|!-HelpTestPage-!|true|
+
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents| Sample help string |true||
+|contents| (edit help text) |false||
+
+|Response Requester.|
+|uri|valid?|
+|!-HelpTestPage2-!|true|
+
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents| (edit help text) |true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/properties.xml
new file mode 100644
index 0000000000..3e87512357
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHelp/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/content.txt
new file mode 100644
index 0000000000..10761621c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/content.txt
@@ -0,0 +1,20 @@
+!2 Test that HTTP links are rendered correctly
+If a string of the form !-http://-!''some_url'' appears in wiki text, it is converted to a link.
+----
+!3 Check the variables get rendered in links
+ * First create a page with a variable and http link on it.
+!|script|
+|start|Page Builder|
+|line|!define HOST {localhost:8081}|
+|line|http://${HOST}/page||
+|page|!-HttpLinkPage-!|
+
+ * Then fetch the page.
+|Response Requester.|
+|uri|valid?|
+|!-HttpLinkPage-!|true|
+
+ * Then check that the link was properly rendered.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-http://localhost:8081/page-!|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/properties.xml
new file mode 100644
index 0000000000..4ce9ce4fa4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpLinkWithVariable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081028013208
+
+
+
+ 1225175528935
+ -3752958530354414031
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/content.txt
new file mode 100644
index 0000000000..95108d0abf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/content.txt
@@ -0,0 +1,23 @@
+Test that the http status entries returned in a wiki page are correct.
+
+First create a page with normal text on it.
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-NormalTextPage-!|This is normal text||true|
+
+Then request that page
+
+|Response Requester.|
+|uri|valid?|
+|!-NormalTextPage-!|true|
+
+Examine the response for its status.
+
+|Response Examiner.|
+|type|pattern|matches?|value|
+|status|200|true||
+|headers|Cache-Control: max-age=0|true||
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/properties.xml
new file mode 100644
index 0000000000..abb3da8277
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestHttpStatus/properties.xml
@@ -0,0 +1,9 @@
+
+
+
+ 20071130010014
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/content.txt
new file mode 100644
index 0000000000..5a8a53626c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/content.txt
@@ -0,0 +1,41 @@
+!3 This page tests includes on a wiki page.
+When a !include is the first string on a line in a wiki page, then the argument of the !include is presumed to be another wiki page. The contents of that wiki page are inserted in place of the !include.
+
+The following is a test that demonstrates how this works.
+#
+ * First create a page to be included.
+#
+|script|
+|start|Page Builder|
+|line|included|
+|page|!-IncludedPage-!|
+#
+ * Next create a page to do the including.
+#
+|script|
+|start|Page Builder|
+|line|before|
+|line|&bang;include !-IncludedPage-! |
+|line|after|
+|page|!-IncludingPage-!|
+#
+ * Then request the including page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-IncludingPage-!|true||
+#
+ * Examine the requested page to be sure the included page was in fact included.
+#
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|included|true||
+#
+ * Now look at every line on the including page to make sure that the inclusions were done in order.
+#
+|Response Examiner.|
+|line|occurs after?|
+|before|true|
+|included|true|
+|after|true|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/properties.xml
new file mode 100644
index 0000000000..d1a42e4618
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestInclude/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081025203702
+
+
+
+
+ 1224985022046
+ -1624419353663413223
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeBackwardsSearchPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeBackwardsSearchPage/content.txt
new file mode 100644
index 0000000000..8c9a7ee3e8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeBackwardsSearchPage/content.txt
@@ -0,0 +1,32 @@
+!3 This page tests includes of a backwards search page.
+
+Make sure the !-!include
+
+
+ 20081025203818
+
+
+
+
+ 1224985098949
+ 1988325188839757829
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/content.txt
new file mode 100644
index 0000000000..3e0c869d7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/content.txt
@@ -0,0 +1,37 @@
+!3 You can set an included page to be collapsed when the page is rendered.
+To do this, add the option "-c":
+
+!-!include -c SomePage-!
+
+See TestInclude for more info on included pages.
+----
+#
+ * First create a page to be included.
+#
+|script|
+|start|Page Builder|
+|line|included|
+|page|!-IncludedPage-!|
+#
+ * Next create a page to do the including.
+#
+|script|
+|start|Page Builder|
+|line|before|
+|line|!-&bang;include -c IncludedPage-! |
+|line|after|
+|page|!-IncludingPage-!|
+#
+ * Then request the including page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-IncludingPage-!|true||
+#
+ * Now make sure the page was included and that the correct style and image are used.
+#
+|Response Examiner.|
+|type|pattern|matches?|
+|contents|included|true|
+|contents|class="hidden"|true|
+|contents|collapsableClosed.gif|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/properties.xml
new file mode 100644
index 0000000000..d4487bb456
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeCollapsed/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081025203911
+
+
+
+
+ 1224985151218
+ 1162019334740908922
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/content.txt
new file mode 100644
index 0000000000..5f2e2d4ba6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/content.txt
@@ -0,0 +1,32 @@
+!3 Included Pages are Collapsable
+When a page is included it is included within a division that is collapsable.
+
+The following is a test that demonstrates how this works.
+#
+ * First create a page to be included.
+#
+|script|
+|start|Page Builder|
+|line|included|
+|page|!-IncludedPage-!|
+#
+ * Next create a page to do the including.
+#
+|script|
+|start|Page Builder|
+|line|before|
+|line|!-&bang;include IncludedPage-! |
+|line|after|
+|page|!-IncludingPage-!|
+#
+ * Then request the including page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-IncludingPage-!|true||
+#
+ * Examine the requested page to be sure the included page was in fact included.
+#
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|class="collapsable"|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/properties.xml
new file mode 100644
index 0000000000..53f41527f6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeIsCollapsable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081025204002
+
+
+
+ 1224985202193
+ -5717088232592493606
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/content.txt
new file mode 100644
index 0000000000..370f0b1894
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/content.txt
@@ -0,0 +1,45 @@
+!3 This page tests seamless includes on a wiki page.
+
+'''NOTE - this is not part of the 20050301 release, but is checked in and will be part of the next release'''
+
+You can follow !include (see TestInclude) with the option "!--seamless-!", which renders the included comment with no additional decoration.
+
+The following is a test that demonstrates how this works.
+#
+ * First create a page to be included.
+#
+|script|
+|start|Page Builder|
+|line|included line 1|
+|line|included line 2|
+|page|!-IncludedPage-!|
+#
+ * Next create a page to do the including.
+#
+|script|
+|start|Page Builder|
+|line|before|
+|line|!-&bang;include -seamless IncludedPage-! |
+|line|after|
+|page|!-IncludingPage-!|
+#
+ * Then request the including page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-IncludingPage-!|true||
+#
+ * Examine the requested page to be sure the included page was in fact included.
+#
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|included|true||
+#
+ * Now look at every line on the including page to make sure that the inclusions were done in order.
+#
+|Response Examiner.|
+|type|number|string?|
+|line|1|before|
+|line|2|included line 1|
+|line|3|included line 2|
+|line|4|after|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/properties.xml
new file mode 100644
index 0000000000..591ca95c23
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSeamless/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081025204051
+
+
+
+ 1224985251533
+ 6002595183983437420
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/content.txt
new file mode 100644
index 0000000000..a330531c8a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/content.txt
@@ -0,0 +1,17 @@
+!*< test page content definition
+!define pageContent (!include -setup SetUp
+!include IncludedPage
+Including page name is !-${PAGE_NAME}-!
+!include -teardown TearDown)
+
+*!
+
+!|script|
+|create page|SetUp|with content|Set Up page name is !-${PAGE_NAME}-!|
+|create page|TearDown|with content|Tear Down page name is !-${PAGE_NAME}-!|
+|create page|IncludedPage|with content|Included page name is !-${PAGE_NAME}-!|
+|given page|IncludingPage|with content|${pageContent}|
+|it should contain|Included page name is IncludedPage|
+|it should contain|Including page name is IncludingPage|
+|it should contain|Set Up page name is IncludingPage|
+|it should contain|Tear Down page name is IncludingPage|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/properties.xml
new file mode 100644
index 0000000000..e0d6ece32d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSetUpTearDownWithPageName/properties.xml
@@ -0,0 +1,15 @@
+
+
+ true
+ true
+ 20090319152813
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1237470268676
+ -6178655714902395693
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/content.txt
new file mode 100644
index 0000000000..469fbe6e4f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/content.txt
@@ -0,0 +1,32 @@
+!3 This page tests includes of a sub page.
+
+Make sure the !-!include >MySubPage-! syntax works.
+#
+ * First create a page to be included.
+#
+|script|
+|start|Page Builder|
+|line|this subpage was included 3.14159|
+|page|!-IncludingPage.IncludedPage-!|
+#
+ * Next create a page to do the including.
+#
+|script|
+|start|Page Builder|
+|line|before|
+|line|!-&bang;include >IncludedPage-! |
+|line|after|
+|page|!-IncludingPage-!|
+#
+ * Then request the including page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-IncludingPage-!|true||
+#
+ * Examine the requested page to be sure the included page was in fact included.
+#
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|this subpage was included 3.14159|true||
+#
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/properties.xml
new file mode 100644
index 0000000000..b9824dcbee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestIncludeSubPage/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081025204138
+
+
+
+
+ 1224985298639
+ -7592481394649690785
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/content.txt
new file mode 100644
index 0000000000..665bac3ba1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/content.txt
@@ -0,0 +1,30 @@
+!3 This page tests line breaks.
+#
+ * First create a page with line breaks in it.
+#
+|script|
+|start|Page Builder|
+|line|one|
+|line||
+|line|two|
+|page|!-LineBreakPage-!|
+#
+ * Then request that page
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-LineBreakPage-!|true||
+#
+ * Make sure the page has three line breaks.
+#
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|one.* .* .*two.* .*|true||
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/properties.xml
new file mode 100644
index 0000000000..1ea45d9b41
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLineBreak/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081026072729
+
+
+
+ 1225024049237
+ -7002969980886143726
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/content.txt
new file mode 100644
index 0000000000..cce71d4752
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/content.txt
@@ -0,0 +1,143 @@
+!2 Test the Link Alias syntax.
+Aliases to links can be created using the !-[[tag][link]]-! syntax.
+The tag is interpreted for markup syntax, so it can be italic, or bold, or an image, etc. The link can be a relative or global wiki word, or it can be an http link.
+
+----
+!3 Test relative link alias
+ * First create two sub pages. One has a relative link to the other.
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-SomePage.TargetPage-!|target page||true|
+|!-SomePage.LinkPage-!|!-[[tag][TargetPage]]-!||true|
+ * Then get the page with the relative link on it.
+|Response Requester.|
+|uri|valid?|
+|!-SomePage.LinkPage-!|true|
+ * Then make sure the relative link is properly constructed.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|tag|true||
+----
+!3 Test global link alias
+ * First create a sub page that has a global reference to another sub page.
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-SomePage.GlobalLinkPage-!|!-[[tag][.SomePage.TargetPage]]-!||true|
+ * Then fetch that page.
+|Response Requester.|
+|uri|valid?|
+|!-SomePage.GlobalLinkPage-!|true|
+ * Make sure the link is properly formed.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|tag|true||
+----
+!3 Test variables get rendered in http link alias
+ * First create a page with a variable and http link on it.
+!|script|
+|start|Page Builder|
+|line|&bang;define HOST {localhost:8080}|
+|line|!-[[tag][http://${HOST}/page]]-! works fine.|
+|page|!-HttpLinkPage-!|
+
+ * Fetch the page.
+|Response Requester.|
+|uri|valid?|
+|!-HttpLinkPage-!|true|
+ * Make sure the link is properly constructed.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|tag works fine.|true||
+----
+!3 Test variables defined in parent page get rendered in http link alias on child pages
+ * First define parent page with variable definition and child page with a http link which uses the variable.
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-SomePage.ParentPage-!|!-!define HOST {localhost:8080}-!||true|
+|!-SomePage.ParentPage.ChildPage-!|!-[[tag][http://${HOST}/page]]-! works fine.||true|
+
+ * Fetch the page.
+|Response Requester.|
+|uri|valid?|
+|!-SomePage.ParentPage.ChildPage-!|true|
+
+ * Make sure the link is properly constructed.
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|tag works fine.|true||
+-----
+!3 Test expressions without variables in link alias
+ * Create pages to refer to
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-PageLink2-!|contents||true|
+|!-PageLink4-!|contents||true|
+|!-PageLink10-!|contents||true|
+
+ * First create a page with a variables and http link on it.
+|script|
+|start|Page Builder|
+|line|!-!define X {5}-!|
+|line|!-!define Y (4)-!|
+|line|!-!define EXPR (${=3+2-1=})-!|
+|line|!-[[tag][PageLink${= 3 - 2 + 1 =}]]-! works fine.|
+|line|!-[[tag][PageLink${EXPR}]]-! works too.|
+|line|!-[[tag][PageLink${=${X}+${Y}+1=}]]-! works as well.|
+|page|!-HttpExprPage-!|
+
+ * Fetch the page.
+|Response Requester.|
+|uri|valid?|contents?|
+|!-HttpExprPage-!|true||
+
+ * Make sure the link is properly constructed.
+|Response Examiner.|
+|type|pattern|matches?|
+|contents|tag works fine.|true|
+|contents|tag works too.|true|
+|contents|tag works as well.|true|
+
+!3 Test that links with query strings and fragments are handled properly.
+ * Create a page hierarchy
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-QueryPageRoot-! |!-!anchor QPLabel -!||true|
+|!-QueryPageRoot.TopPage-! |!-!anchor QPTopLabel-!||true|
+
+ * Create a page of query and fragment links...and a child
+|script|
+|start|Page Builder|
+|line|!-[[tag1 ][TopPage?edit]]-! has query.|
+|line|!-[[tag2 ][TopPage?edit#QPTopLabel]]-! has query and frag.|
+|line|!-[[tag3 ][TopPage#QPTopLabel]]-! has fragment.|
+|line|!-[[tag4 ][ChildFrag?edit]]-! child has query.|
+|line|!-[[tag9 ][>ChildFrag?edit#QPTopLabel]]-! child has query and frag.|
+|line|!-[[tag10][>ChildFrag#QPTopLabel]]-! child has fragment.|
+|page|!-QueryPageRoot.QueryFragmentLinks-!|
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-QueryPageRoot.QueryFragmentLinks.ChildFrag-!|!-!anchor QPChild-!||true|
+
+ * Fetch the page.
+|Response Requester.|
+|uri|valid?|contents?|
+|!-QueryPageRoot.QueryFragmentLinks-!|true||
+
+ * Make sure the query and fragments don't interfere with page paths.
+|Response Examiner.|
+|type|pattern|matches?|
+|contents|tag1 has query.|true|
+|contents|tag2 has query and frag.|true|
+|contents|tag3 has fragment.|true|
+|contents|tag4 back has query.|true|
+|contents|tag5 root has query.|true|
+|contents|tag6 back has query and frag.|true|
+|contents|tag7 back has fragment.|true|
+|contents|tag8 child has query.|true|
+|contents|tag9 child has query and frag.|true|
+|contents|tag10 child has fragment.|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/properties.xml
new file mode 100644
index 0000000000..93238f6b2a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestLinkAlias/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090111072849
+
+
+
+ 1231680529753
+ -2612781470226117311
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/content.txt
new file mode 100644
index 0000000000..b67a8fb042
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/content.txt
@@ -0,0 +1,41 @@
+!3 This page tests a multi-line table.
+A multi-line table is created as follows {{{|a|b|c|
+|d|e|f|}}} The resulting text will be rendered in a one line table of the form.{{{
+
a
b
c
+
d
e
f
+
}}}
+#
+ * First create a page with a simple table in it.
+#
+|script|
+|start|Page Builder|
+|line|!-|a|b|c|-!|
+|line|!-|d|e|f|-!|
+|page|!-MultiLineTablePage-!|
+#
+ * Then request that page
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-MultiLineTablePage-!|true||
+#
+ * Make sure the html is correct for a simple table.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|a|true||
+
+|Response Examiner.|
+|type|number|string?|
+|line|1|!-<table border="1" cellspacing="0">-!|
+|line|2|!-<tr>-!|
+|line|3|!-<td>a</td>-!|
+|line|4|!-<td>b</td>-!|
+|line|5|!-<td>c</td>-!|
+|line|6|!-</tr>-!|
+|line|7|!-<tr>-!|
+|line|8|!-<td>d</td>-!|
+|line|9|!-<td>e</td>-!|
+|line|10|!-<td>f</td>-!|
+|line|11|!-</tr>-!|
+|line|12|!-</table>-!|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/properties.xml
new file mode 100644
index 0000000000..7a63ce6ad5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestMultiLineTable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204154027
+
+
+
+ 1233783627144
+ 6262768124281368712
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/content.txt
new file mode 100644
index 0000000000..d7d865a0cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/content.txt
@@ -0,0 +1,30 @@
+!3 Normal lists with leading numbers
+An old bug in Fitnesse. If you created a normal list with leading numbers in the text, the parser got confused and thought that the leading numbers were part of a numeric list.
+
+A list created as follows {{{* 50 ways to leave your lover}}} should be rendered as a normal list with "50 ways to leave your lover" as the text of the list.
+#
+ * First create a page with a simple table in it.
+#
+!note We use \ here as a way to capture the leading space before the *.
+!|script|
+|start|Page Builder|
+|line|\ * 50 ways to leave your lover.|
+|page|NormalListWithLeadingNumericPage|
+#
+ * Then request that page
+#
+!|Response Requester.|
+|uri|valid?|contents?|
+|NormalListWithLeadingNumericPage|true||
+#
+ * Make sure the html is correct for a simple table.
+#
+!|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|
|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/properties.xml
new file mode 100644
index 0000000000..f63fecb104
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNormalListWithLeadingNumbers/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081026080117
+
+
+
+ 1225026077500
+ -475629030298269946
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNumericList/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNumericList/content.txt
new file mode 100644
index 0000000000..1247c396f9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestNumericList/content.txt
@@ -0,0 +1,32 @@
+!3 A simple list
+
+A list created as follows {{{ 1 Item one
+ 2 Item two}}} should be rendered as a two item ordered list.
+#
+ * First create a page with a simple table in it.
+#
+!note We use backslash is a way to capture the leading space before the *.
+!|script|
+|start|Page Builder|
+|line|\ 1 Item One|
+|line|\ 2 Item Two|
+|page|SimpleList|
+#
+ * Then request that page
+#
+!|Response Requester.|
+|uri|valid?|contents?|
+|SimpleList|true||
+#
+ * Make sure the html is correct for a simple table.
+#
+!|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|
}}}
+#
+ * First create a page with a simple table in it.
+#
+|script|
+|start|Page Builder|
+|line|!-|a|b|c|-!|
+|page|!-SimpleTablePage-!|
+#
+ * Then request that page
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-SimpleTablePage-!|true||
+#
+ * Make sure the html is correct for a simple table.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|a|true||
+
+|Response Examiner.|
+|type|number|string?|
+|line|1|!-<table border="1" cellspacing="0">-!|
+|line|2|!-<tr>-!|
+|line|3|!-<td>a</td>-!|
+|line|4|!-<td>b</td>-!|
+|line|5|!-<td>c</td>-!|
+|line|6|!-</tr>-!|
+|line|7|!-</table>-!|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSimpleTable/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSimpleTable/properties.xml
new file mode 100644
index 0000000000..69dc0db667
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSimpleTable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204153903
+
+
+
+ 1233783543552
+ 1862507681361489088
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/content.txt
new file mode 100644
index 0000000000..5c6f7477d7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/content.txt
@@ -0,0 +1,34 @@
+!3 A sub list
+
+A list created as follows {{{ * Item one
+ * Item two}}} should be rendered as a list with a sub list.
+#
+ * First create a page with a simple table in it.
+#
+!note We use backslash is a way to capture the leading space before the *.
+!|script|
+|start|Page Builder|
+|line|\ * Item One|
+|line|\ * Item Two|
+|page|SubList|
+#
+ * Then request that page
+#
+!|Response Requester.|
+|uri|valid?|contents?|
+|SubList|true||
+#
+ * Make sure the html is correct for a simple table.
+#
+!|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|
|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/properties.xml
new file mode 100644
index 0000000000..71e3fde380
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubList/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1225026520183
+ -2916964933429086644
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/content.txt
new file mode 100644
index 0000000000..d3e50534ee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/content.txt
@@ -0,0 +1,30 @@
+!2 The Sub Page widget.
+Sometimes we want to conveniently create a link to a sub page. We could do this by using the syntax ''!-SuperPage.SubPage-!'', but this is inconvenient. Instead we want to be able to say ''!-^SubPage-!''.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage|^SubPage||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+The widget should translate into a ? link of the form:
+ * ''!-^SubPage-![?]''
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|\^SubPage\[\?\]|true||
+
+If the sub page is already present, then the widget should translate into a normal link.
+
+!|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|SuperPage.SubPage|nothing||true|
+
+!|Response Requester.|
+|uri|valid?|contents?|
+|SuperPage|true||
+
+!|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|\^SubPage|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/properties.xml
new file mode 100644
index 0000000000..14faf199a4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidget/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213011308
+
+
+
+ 1229152388734
+ -2200930259395588095
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/content.txt
new file mode 100644
index 0000000000..5b2f1ebc68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/content.txt
@@ -0,0 +1,30 @@
+!2 The Sub Page widget in an alias.
+Sometimes we want to create an alias to a subpage link as follows: !-[[click here][^SubPage]]-!.
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-SuperPage-!|!-[[tag][^SubPage]]-!||true|
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-SuperPage-!|true||
+
+The widget should translate into a ? link of the form:
+ * ''tag[?]''
+|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|tag\[\?\]|true||
+
+If the sub page is already present, then the widget should translate into a normal link.
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-SuperPage.SubPage-!|nothing||true|
+
+|Response Requester.|
+|uri|valid?|contents?|
+|!-SuperPage-!|true||
+
+|Response Examiner.|
+|type |pattern|matches?|value|
+|contents|tag|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/properties.xml
new file mode 100644
index 0000000000..5e33cb58e2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestSubPageWidgetInAlias/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213011402
+
+
+
+ 1229152442036
+ 5555914994555846525
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/content.txt
new file mode 100644
index 0000000000..2e2a85144d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/content.txt
@@ -0,0 +1,62 @@
+!3 This page tests the construction of tables.
+#
+ * First create a page with comment text on it.
+#
+|script|
+|start|Page Builder|
+|line|!-|1 Row 1 Cell|-!|
+|page|!-TableTestPage-!|
+#
+ * Then request that page
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-TableTestPage-!|true||
+#
+ * Examine the page to be sure it is empty.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|\s*
\s*1 Row 1 Cell\s*
\s*\s*|true||
+
+'''Test that spaces inside table cells don't get interpreted.'''
+|script|
+|start|Page Builder|
+|line|!-| 1 is not a list|-!|
+|page|!-TableTestPageTwo-!|
+#
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-TableTestPageTwo-!|true||
+#
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|1 is not a list|true||
+#
+|Response Examiner.|
+|type|pattern|matches?|
+|contents||false|
+|contents|
|false|
+#
+
+'''Test that nothing gets interpreted inside literal tables.'''
+|script|
+|start|Page Builder|
+|line|!-!|'''bold'''|''italic''|-!|
+|page|!-TableTestPageThree-!|
+#
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-TableTestPageThree-!|true||
+#
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|!-'''bold'''-!|true||
+#
+|Response Examiner.|
+|type|pattern|matches?|
+|contents|!-''italic''-!|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/properties.xml
new file mode 100644
index 0000000000..72cef4fc06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204154144
+
+
+
+ 1233783704087
+ 4236233898432547799
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/content.txt
new file mode 100644
index 0000000000..9d9fac9eaf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/content.txt
@@ -0,0 +1,40 @@
+The !-!see-! widget takes a page name as argument. It displays the fully qualified page name in bold, prefixed by '''See:'''
+
+|Comment|
+|!c '''Markup Text'''|!c '''Displayed as'''|
+|!-!see SomeTestPage-!|!see SomeTestPage|
+
+Create some page.
+
+|script|
+|start|Page Builder|
+|line|Dummy Text|
+|page|!-SomePage-!|
+
+Create a suite page with a !-!see-! widget
+
+|script|
+|start|Page Builder|
+|line|!-!see SomePage-!|
+|page|!-SuitePage-!|
+
+Get the Suite page.
+
+|Response Requester.|
+|uri |valid?|
+|!-SuitePage-!|true|
+
+|Response Examiner.|
+|contents?|
+||
+
+Make sure the page name is formatted properly
+
+!|Response Examiner.|
+|type |pattern|matches?|
+|contents|See: SomePage|true|
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/properties.xml
new file mode 100644
index 0000000000..03b292d590
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTheXrefWidget/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213011505
+
+
+
+ 1229152505066
+ 7293162177854007306
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/content.txt
new file mode 100644
index 0000000000..91c43b6546
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/content.txt
@@ -0,0 +1,20 @@
+This page tests the tag.
+
+First create a page.
+
+|Page creator.|
+|Page name.|Page contents.|Page attributes.|valid?|
+|!-TitleTestPage-!|some content||true|
+
+Then request that page
+
+|Response Requester.|
+|uri|valid?|
+|!-TitleTestPage-!|true|
+
+Examine the page to be sure it has tag
+
+|Response Examiner.|
+|type|pattern|matches?|value|
+|contents|!-TitleTestPage-!|true||
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/properties.xml
new file mode 100644
index 0000000000..426aee821b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestTitleTag/properties.xml
@@ -0,0 +1,8 @@
+
+
+
+ 20060717210150
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/content.txt
new file mode 100644
index 0000000000..ecfde90896
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/content.txt
@@ -0,0 +1,125 @@
+!2 Test that variables are properly defined and expressed on a page.
+ * Variables are defined as !-!define name {value}-!.
+ * Alternately they are defined as !-!define name (value)-!.
+ * This is so that you can create variables with {} or () in them.
+ * They are expressed using !-${name}-!
+-----
+!3 Test a variable defined and used on the same page.
+#
+ * Create a page with a variable definition and use..
+#
+|script|
+|start|Page Builder|
+|line|!-!define x {1}-!|
+|line|!-x is ${x}-!|
+|line|!-PAGE_NAME is ${PAGE_NAME}-!|
+|line|!-PAGE_PATH is ${PAGE_PATH}-!|
+|page|!-VariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-VariablePage-!|true||
+#
+ * Inspect the text to see if the variable was expressed.
+#
+|Response Examiner.|
+|type|pattern|matches?|
+|contents|x is 1|true|
+|contents|PAGE_NAME is !-<-!;a href="Variable!--!Page"!->-!Variable!--!Page|true|
+|contents|PAGE_PATH is .|true|
+
+----
+!3 Test a variable defined and used on the same page using () syntax.
+#
+ * Create a page with a variable definition and use..
+#
+|script|
+|start|Page Builder|
+|line|!-!define x (1)-!|
+|line|!-x is ${x}-!|
+|page|!-ParenVariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParenVariablePage-!|true||
+#
+ * Inspect the text to see if the variable was expressed.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|x is 1|true||
+
+----
+!3 Test literals in variables with {} and () syntax.
+!note The internal representation of a literal is changed from !lit(n) to !lit?n? so as to avoid conflict with the !define X () widget syntax.
+#
+ * Create a page with a variable definition and use..
+#
+|script|
+|start|Page Builder|
+|line|!-!-!define xLitBRACE {!-!-!-xLitBRACE-!-!-!}|
+|line|!!--!define xLitPAREN (!-!-!-xLitPAREN-!-!-!)|
+|line|!-xLitBRACE is ${xLitBRACE}-!|
+|line|!-xLitPAREN is ${xLitPAREN}-!|
+|page|!-ParenVariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParenVariablePage-!|true||
+#
+ * Inspect the text to see if the variable was expressed.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|xLitPAREN is xLitPAREN|true||
+|contents|xLitBRACE is xLitBRACE|true||
+
+----
+!3 Test a variables with periods
+#
+ * Create a page with a variable definitions with periods.
+#
+|script|
+|start|Page Builder|
+|line|!-!define xy. (1)-!|
+|line|!-!define x.y (2)-!|
+|line|!-!define .xy (3)-!|
+|line|!-!define .x.y. (4)-!|
+|line|!-!define .xy. (5)-!|
+|line|!-!define .x.y (6)-!|
+|line|!-!define x.y. (7)-!|
+|line|!-!define x..y (8)-!|
+|line|!-~xy. is ${xy.}~-!|
+|line|!-~x.y is ${x.y}~-!|
+|line|!-~.xy is ${.xy}~-!|
+|line|!-~.x.y. is ${.x.y.}~-!|
+|line|!-~.xy. is ${.xy.}~-!|
+|line|!-~.x.y is ${.x.y}~-!|
+|line|!-~x.y. is ${x.y.}~-!|
+|line|!-~x..y is ${x..y}~-!|
+|page|!-ParenVariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-ParenVariablePage-!|true||
+#
+ * Inspect the text to see if the variables were expressed properly.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|~xy. is 1~|true||
+|contents|~x.y is 2~|true||
+|contents|~.xy is 3~|true||
+|contents|~.x.y. is 4~|true||
+|contents|~.xy. is 5~|true||
+|contents|~.x.y is 6~|true||
+|contents|~x.y. is 7~|true||
+|contents|~x..y is 8~|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/properties.xml
new file mode 100644
index 0000000000..629ea6806f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204154421
+
+
+
+ 1233783861431
+ 7894600991634282977
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/content.txt
new file mode 100644
index 0000000000..06e2d2af5c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/content.txt
@@ -0,0 +1,61 @@
+!2 Test that variables can be defined as system properties
+ * If Fitnesse can not find a variable definition on any pages it will look to system properties.
+----
+!3 Test a variable defined in system properties
+
+#
+ * Set a system property.
+#
+|System property setter fixture|
+|key|value|
+|xKey|xValue|
+#
+ * Create a page that uses that property as a variable.
+#
+|script|
+|start|Page Builder|
+|line|!-xKey is ${xKey}-!|
+|page|!-VariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-VariablePage-!|true||
+#
+ * Inspect the text to see if the variable was expressed.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|xKey is xValue|true||
+
+
+----
+!3 Test that a variable defined in a page supercedes one set in system properties
+
+#
+ * Set a system property.
+#
+|System property setter fixture|
+|key|value|
+|xKey|xValue|
+#
+ * Create a page that defines the same variable and uses it.
+#
+|script|
+|start|Page Builder|
+|line|!-!define xKey {xValueFromPage}-!|
+|line|!-xKey is ${xKey}-!|
+|page|!-VariablePage-!|
+#
+ * Fetch that page.
+#
+|Response Requester.|
+|uri|valid?|contents?|
+|!-VariablePage-!|true||
+#
+ * Inspect the text to see if the variable was expressed.
+#
+|Response Examiner.|
+|type|pattern|matches?|wrapped html?|
+|contents|xKey is xValueFromPage|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/properties.xml
new file mode 100644
index 0000000000..05026b23b3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesFromSystemProperties/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20090204154859
+
+
+
+ 1233784139519
+ 6097975137540537166
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/content.txt
new file mode 100644
index 0000000000..67851f0572
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/content.txt
@@ -0,0 +1,6 @@
+!define BRACE ({)
+!define BRACKET {[}
+!define PAREN [(]
+
+|script|
+|check|echo|${BRACE} ${BRACKET} ${PAREN}|{ [ (|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/properties.xml
new file mode 100644
index 0000000000..e13fdf40e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/TestVariablesWithBracesBracketsAndParents/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/content.txt
new file mode 100644
index 0000000000..7e602fae1b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/content.txt
@@ -0,0 +1,2 @@
+A WikiPagePath is a set of .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord elements seperated by dots.
+e.g. '''!-FitNesse.UserGuide-!'''
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/properties.xml
new file mode 100644
index 0000000000..04409d7e8c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPagePath/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210152
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/content.txt
new file mode 100644
index 0000000000..4ed14b60ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/content.txt
@@ -0,0 +1,3 @@
+A reference to a wiki page. A WikiPageReference can be a simple .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord, or it can be a WikiPagePath.
+ * A .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord is a word with no punctuation with capital letters as the word seperators.
+ * A WikiPagePath is a set of .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.WikiWord elements separated by dots.
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/properties.xml
new file mode 100644
index 0000000000..b9a6ff6d19
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiPageReference/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20081020135121
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/content.txt
new file mode 100644
index 0000000000..4c7718d3d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/content.txt
@@ -0,0 +1 @@
+See .FitNesse.WikiWord
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/properties.xml
new file mode 100644
index 0000000000..d07871eab4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/WikiWord/properties.xml
@@ -0,0 +1,7 @@
+
+
+
+ 20060717210153
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/content.txt
new file mode 100644
index 0000000000..584b8020fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/content.txt
@@ -0,0 +1,2 @@
+!define TEST_SYSTEM {slim}
+!contents -R1 -g
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/properties.xml
new file mode 100644
index 0000000000..c7bf3d8fbf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWidgetTests/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ 20090321095127
+
+
+ slim
+
+ 1224951903697
+ -9087830465292801545
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/content.txt
new file mode 100644
index 0000000000..799b33682e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/content.txt
@@ -0,0 +1,10 @@
+First setup the Authentication module.
+!|Authenticator Setup|
+|username|password|status?|
+|Aladdin|open sesame||
+
+Create a page to be requested.
+!|Page creator.|
+|Page name.|page attributes|valid?|
+|ImporteePage |secure-read=true|true|
+|ImporteePage.ChildPage||true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/properties.xml
new file mode 100644
index 0000000000..e65381b8d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/CreateSecureWiki/properties.xml
@@ -0,0 +1,8 @@
+
+
+
+ 20060717210153
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/content.txt
new file mode 100644
index 0000000000..8a3c5d9b8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/content.txt
@@ -0,0 +1,14 @@
+!|scenario|import|importedPage|into|importingPage|
+|check|request page|@importingPage?responder=import&remoteUrl=http://localhost:${INTERNAL_PORT}/@importedPage|200|
+
+!|scenario|Water mark and edit buttons should be on page|page|
+|check|request page|@page|200|
+|ensure|content matches||
+|ensure|content matches|Edit Locally|
+|ensure|content matches|Edit Remotely|
+
+!|scenario|Water mark and edit buttons should not be on page|page|
+|check|request page|@page|200|
+|reject|content matches||
+|reject|content matches|Edit Locally|
+|reject|content matches|Edit Remotely|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/properties.xml
new file mode 100644
index 0000000000..72aa2b6a6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/ScenarioLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/SetUp/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/SetUp/content.txt
new file mode 100644
index 0000000000..21788eda64
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/SetUp/content.txt
@@ -0,0 +1,5 @@
+!include
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/content.txt
new file mode 100644
index 0000000000..b2ed7ebef2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/content.txt
@@ -0,0 +1,52 @@
+!c !3 Importing pages can be configured to automatically update upon test.
+
+Create a page tree to be imported.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportedRoot|!contents |true |
+|ImportedRoot.PageOne|page one |true |
+|ImportedRoot.PageOne.ChildOne|child one |true |
+|ImportedRoot.PageTwo|page two |true |
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the !-ImportingRoot-! page created above.
+'''Auto Update is turned one'''
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&autoUpdate=0&remoteUrl=http://localhost:${INTERNAL_PORT}/ImportedRoot|true|
+
+We see all 3 pages imported.
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|3 pages were imported|true|
+
+Sleep a bit so that the last modification time actually changes.
+|Sleep|1000|
+
+Change one of the imported pages.
+!|Save Page Requester|
+|uri |save contents|status!|
+|ImportedRoot.PageOne?edit|Some ultra fresh content|303|
+
+Now lets run the Suite.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?suite|true|
+
+An import message is displayed in the test output.
+!|Response Examiner|
+|type|pattern|matches?|contents?|
+|contents|Updating imported content...|true||
+
+Looking at the imported copy of the modified page will reveal that it was indeed updated.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage.PageOne|true|
+
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|Some ultra fresh content|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/properties.xml
new file mode 100644
index 0000000000..afb3ad1eb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestAutomaticUpdate/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/content.txt
new file mode 100644
index 0000000000..1812ad1806
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/content.txt
@@ -0,0 +1,18 @@
+!c !3 Can't Import From Secure Wiki
+!define TEST_SYSTEM {slim}
+!include CreateSecureWiki
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the secure wiki page.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&remoteUrl=http://localhost:9123/ImporteePage|true|
+
+Since the wiki being imported is secure, the response will promt the user for credentials.
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|ImporteePage requires authentication|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/properties.xml
new file mode 100644
index 0000000000..03d61cc43d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestCantImportFromSecureWiki/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229175050909
+ 4429069674233144705
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/content.txt
new file mode 100644
index 0000000000..024e2580ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/content.txt
@@ -0,0 +1,19 @@
+!c !3 Import From Secure Wiki With Credentials
+!define TEST_SYSTEM {slim}
+
+!include CreateSecureWiki
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the secure wiki page. Credentials for accessing the remote wiki are included in the request.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&remoteUrl=http://localhost:9123/ImporteePage&remoteUsername=Aladdin&remotePassword=open+sesame|true|
+
+The import should succeed just like normal.
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|1 page was imported|true||
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/properties.xml
new file mode 100644
index 0000000000..19c9037fa9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportFromSecureWikiWithCredentials/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1229175072272
+ -7844670793563563311
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/content.txt
new file mode 100644
index 0000000000..eedd3bcdb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/content.txt
@@ -0,0 +1,41 @@
+!c !3 Importing Sample Wiki
+The Wiki Import feature is triggered by requesting a wiki page along with two parameters:
+ * responder=import
+ * remoteUrl=
+
+e.g. !-http://localhost/ImportingPage?responder=import&remoteUrl=http://fitnesse.org/FitNesse-!
+
+The .FitNesse.SampleWiki page will be used by these tests.
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the !-SampleWiki-! page.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&remoteUrl=http://localhost:${FITNESSE_PORT}/FitNesse.SampleWiki|true|
+
+The above request will initiate a chunked response where all the imported pages are listed.
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|ChildPageOne|true||
+
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|GrandChildPageOne|true|
+|contents|GreatGrandChildPageOne|true|
+|contents|ChildPageTwo|true|
+|contents|GrandChildPageTwo|true|
+|contents|ChildPageThree|true|
+
+All the pages that were import can now be retrieved.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage.ChildPageOne|true|
+|ImportingPage.ChildPageOne.GrandChildPageOne|true|
+|ImportingPage.ChildPageOne.GrandChildPageOne.GreatGrandChildPageOne|true|
+|ImportingPage.ChildPageTwo|true|
+|ImportingPage.ChildPageTwo.GrandChildPageTwo|true|
+|ImportingPage.ChildPageThree|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/properties.xml
new file mode 100644
index 0000000000..8c10d56aa3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingSampleWiki/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081213073138
+
+
+
+ 1229175098918
+ -3185279582113091109
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/content.txt
new file mode 100644
index 0000000000..3524a80f43
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/content.txt
@@ -0,0 +1,30 @@
+!c !3 Importing Pages with Unicode Characters
+
+The .FitNesse.SampleWiki page will be used by these tests.
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the !-SampleWiki-! page.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&remoteUrl=http://localhost:${FITNESSE_PORT}/FitNesse.SampleWiki|true|
+
+Make sure the unicode page was imported.
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|ChildWithUnicode|true|
+
+Load the imported unicode page.
+!|Response Requester.|
+|uri |valid?| contents?|
+|ImportingPage.ChildWithUnicode|true||
+
+The unicode should still be intact.
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|!-japanese: メインページ-!|true|
+|contents|icelandic: Forsíða|true|
+|contents|ukranian: !-Головна стаття-!|true|
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/properties.xml
new file mode 100644
index 0000000000..4876d36a75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestImportingUnicodeCharacters/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+ 20081105124028
+
+
+
+ 1225906828508
+ 4343884691942306093
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/content.txt
new file mode 100644
index 0000000000..f73d6fa38c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/content.txt
@@ -0,0 +1,46 @@
+!c !3 Orphaned pages are removed.
+
+Create a page tree to be imported.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportedRoot|!contents |true |
+|ImportedRoot.PageOne|page one |true |
+|ImportedRoot.PageOne.ChildOne|child one |true |
+|ImportedRoot.PageTwo|page two |true |
+
+Create an importing page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+This !-ImportingPage-! will now import the !-ImportingRoot-! page created above.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import&remoteUrl=http://localhost:${INTERNAL_PORT}/ImportedRoot|true|
+
+We see all 3 pages imported.
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|3 pages were imported|true|
+
+Now delete one of the pages from the imported root.
+!|Response Requester.|
+|uri |status?|
+|ImportedRoot.PageOne?responder=deletePage&confirmed=yes|303|
+
+Importing again will shows only that that orphaned pages have been removed.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?responder=import|true|
+
+!|Response Examiner|
+|type|pattern|matches?|contents?|
+|contents|0 pages were imported|true||
+
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|2 orphaned pages were found and have been removed.|true|
+|contents|Orphans:|true|
+|contents|PageOne|true|
+|contents|PageOne.ChildOne|true|
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/properties.xml b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/properties.xml
new file mode 100644
index 0000000000..ffffc4e483
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestOrphanedPagesAreRemoved/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+ 20081020135125
+ docs
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestPropertiesPageHasImportForm/content.txt b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestPropertiesPageHasImportForm/content.txt
new file mode 100644
index 0000000000..8c9e146bdf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitNesse/SuiteAcceptanceTests/SuiteWikiImportTests/TestPropertiesPageHasImportForm/content.txt
@@ -0,0 +1,23 @@
+!c !3 Import Form on Properties Page
+Users will initiate a Wiki Import by visiting the page that will do the importing. The properties view of the page will have a form where the user will supply the URL of the wiki to import and then click the Import button.
+
+First we need a page.
+!|Page creator.|
+|Page name. |Page contents.|valid?|
+|ImportingPage|!contents |true |
+
+Request the properties view of this page.
+!|Response Requester.|
+|uri |valid?|
+|ImportingPage?properties|true|
+
+Now lets look at the form.
+!|Response Examiner|
+|type|pattern|matches?|wrapped html?|
+|contents|Wiki Import.|true||
+
+!|Response Examiner|
+|type|pattern|matches?|
+|contents|