#=============================================================================================
# @TITLE			Checking forth window - Backup Wizard.
#
# @NUMBER			DBM2_FKT_02107
#
# @DESCRIPTION		Checking the copy window of a backup medium.
#
# @EXP_RESULT		All controls will be displayed there will be two media in the lvwMedia -
# @					listview.
#
# @REQUIREMENTS		"Database Manager" is installed.
#=============================================================================================
static WizardOpen = 1;
static unit_array [] = {"KB","MB","GB","Pages"};
static unit_array_ok = 1;

#change Backup_MediumName & copy_MediumName in 2nd run of Complete Backup
if (CompleteBackupRun == 1) {
		Backup_MediumName =  "TestBackup";
		copy_Medium = "TestBackupCopy";
	}
		else {
			Backup_MediumName =  "TestBackup_2";
			copy_Medium = "TestBackup_2Copy";
			}
#=============================================================================================
# @STEP 1			Checking window and create a copy of selected item.
#=============================================================================================
if (win_exists("Database Manager Backup Wizard",0) == 0) {
	
	tl_step("Database Manager Backup Wizard - Window Check", "0", "Window still open");
	
	set_window ("Database Manager Backup Wizard", 1);
	
	set_window ("Database Manager Backup Wizard", 2);
	#list_rename_item ("lvwMedia", "TestBackup");
	list_select_item("lvwMedia",Backup_MediumName);
	toolbar_button_press ("msvb_lib_toolbar", "Copy");	
#=============================================================================================
# @STEP 2			Checking the window content.
#=============================================================================================	
	set_window("Medium Properties");
	L_RC_1 = obj_exists("picMedium",0);
	L_RC_2 = obj_exists("txtName",0);
	L_RC_3 = obj_exists("txtBackupType",0);
	L_RC_4 = obj_exists("cmbDeviceType",0);
	L_RC_5 = obj_exists("txtLocation",0);
	L_RC_6 = obj_exists("flxGrid",0);
	
	if (L_RC_1 == 0 &&
		L_RC_2 == 0 &&
		L_RC_3 == 0 &&
		L_RC_4 == 0 &&
		L_RC_5 == 0 &&
		L_RC_6 == -10002) {
		
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","0","All controls displayed");
		
		set_window("Medium Properties");
		obj_get_info("txtName","text",Text_TestBackup);
		obj_get_info("txtBackupType","text",Text_BackupType);
		list_get_selected("cmbDeviceType",Item_DeviceType,number);
		obj_get_info("txtLocation","text",Text_Location);

		if (Text_TestBackup == Backup_MediumName &&
			Text_BackupType == "Complete Data" &&
			Item_DeviceType == "File" &&
			Text_Location == database & "_COM") {
			
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","0","All expected entries correct");
		} else {
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Not all expected entries correct");
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Name: " & Text_TestBackup & " expected: "& Backup_MediumName);
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Name: " & Text_BackupType & " expected: Complete (Data)");
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Name: " & Item_DeviceType & " expected: File");
			tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Name: " & Text_Location & " expected: " & database &"_COM");
		}
		
	} else {
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","Not all controls displayed");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","picMedium: " & L_RC_1 & " expected: 0");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","txtName: " & L_RC_2 & " expected: 0");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","txtBackupType: " & L_RC_3 & " expected: 0");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","cmbDeviceType: " & L_RC_4 & " expected: 0");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","txtLocation " & L_RC_5 & " expected: 0");
		tl_step ("Medium Properties - "& Backup_MediumName &" - General","1","flxGrid: " & L_RC_6 & " expected: -10002");
	}
#=============================================================================================
# @STEP 3			Rename medium.
#=============================================================================================
	set_window ("Medium Properties", 4);
	edit_set ("txtName", copy_Medium);
#=============================================================================================
# @STEP 4			Going to 'Extended' tab and checking the objects.
#=============================================================================================
	set_window ("Medium Properties", 1);
	tab_select_item ("tabPages", "&Extended");
	
	L_RC_6 = obj_exists("cmbUnit",0);
	L_RC_7 = obj_exists("ThunderRT6CheckBox_0",0);
	L_RC_8 = obj_exists("ThunderRT6CheckBox_1",0);
	L_RC_9 = obj_exists("txtBlocksize",0);
	L_RC_10 = obj_exists("ThunderRT6CheckBox_2",0);
	L_RC_11 = obj_exists("flxGrid",0);
	
	if (L_RC_6 == 0 &&
		L_RC_7 == 0 &&
		L_RC_8 == 0 &&
		L_RC_9 == 0 &&
		L_RC_10 == 0 &&
		L_RC_11 == -10002) {
		
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","0","All controls displayed");
		
		set_window ("Medium Properties", 1);
		obj_get_info ("txtSize","text", Text_Size);
		list_get_selected ("cmbUnit", Item_Size, number);
		obj_get_info ("ThunderRT6CheckBox_0", "value", Value_Overwrite);
		obj_get_info ("ThunderRT6CheckBox_1", "value", Value_CheckBlocksize);
		ActiveX_get_info("txtBlocksize","Locked",Locked_Blocksize);
		obj_get_info ("txtBlocksize", "text", Text_Blocksize);
		obj_get_info ("ThunderRT6CheckBox_2", "enabled", Enabled_Autoloader);
		obj_get_info ("txtOSCommand", "enabled", Enabled_OS_Command);
		
		if (match (kernel_version, "7.2.05") != 0 ||
			match (kernel_version, "7.3.00") != 0 ||
			match (kernel_version, "7.4.02") != 0) {
			
			exp_CheckBlocksize = 1;
			exp_Locked_Blocksize = "False";
		}
		if (match (kernel_version, "7.4.03") != 0 ||
			match (kernel_version, "7.5.00") != 0 ||
			match (kernel_version, "7.6.00") != 0) {
			
			exp_CheckBlocksize = 0;
			exp_Locked_Blocksize = "True";
		}
		
		if (Text_Size == "" &&
			Item_Size == "KB" &&
			Value_Overwrite == 1 &&
			Value_CheckBlocksize == exp_CheckBlocksize &&
			Locked_Blocksize == exp_Locked_Blocksize &&
			Text_Blocksize == "8" &&
			Enabled_Autoloader == 0 &&
			Enabled_OS_Command == 0) {
			
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","0","All like expected");
		} else {
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","Not all like expected");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","txtSize: " & Text_Size & " expected: ");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","cmbUnit: " & Item_Size & " expected: KB");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","ThunderRT6CheckBox_0: " & Value_Overwrite & " expected: 1");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","ThunderRT6CheckBox_1: " & Value_CheckBlocksize & " expected: 0");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","txtBlocksize (locked): " & Locked_Blocksize & " expected: True");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","txtBlocksize (text): " & Text_Blocksize & " expected: 8");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","ThunderRT6CheckBox_2: " & Enabled_Autoloader & " expected: 0");
			tl_step ("Medium Properties - "& copy_Medium &" - Extended - Controls content","1","txtOSCommand: " & Enabled_OS_Command & " expected: 0");
		}	

	} else {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","Not all controls displayed");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","cmbUnit: " & L_RC_1 & " expected: 0");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","ThunderRT6CheckBox_0: " & L_RC_2 & " expected: 0");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","ThunderRT6CheckBox_1: " & L_RC_3 & " expected: 0");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","txtBlocksize: " & L_RC_4 & " expected: 0");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","ThunderRT6CheckBox_2: " & L_RC_5 & " expected: 0");
		tl_step ("Medium Properties - "& copy_Medium &" - Extended","1","flxGrid: " & L_RC_5 & " expected: 0");
	}
#=============================================================================================
# @STEP 5			Checking units.
#=============================================================================================
	list_get_info("cmbUnit","count",UnitCount);
	
	for (i = 0;i < UnitCount;i++) {
		
		list_get_item("cmbUnit",i,item);
		
		if (item != unit_array[i]) {
			
			unit_array_ok = 0;
			break;
		}
	}
	
	if (unit_array_ok == 0) {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - units","1","Items not o.k.");
	} else {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - units","0","Items o.k.");
	}
#=============================================================================================
# @STEP 6			Checking blocksize field.
#=============================================================================================
	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);	
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);
	
	if (match (kernel_version, "7.2.05") != 0 ||
		match (kernel_version, "7.3.00") != 0 ||
		match (kernel_version, "7.4.02") != 0) {
		
		exp_BlockSizeCheckbox = 1;
		exp_BlockSizeTextfield = "False";
	}
	if (match (kernel_version, "7.4.03") != 0 ||
		match (kernel_version, "7.5.00") != 0 ||
		match (kernel_version, "7.6.00") != 0) {
		
		exp_BlockSizeCheckbox = 0;
		exp_BlockSizeTextfield = "True";
	}
		
	if (BlockSizeCheckbox == exp_BlockSizeCheckbox &&
		BlockSizeTextfield == exp_BlockSizeTextfield) {
		
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize off)","0","Correct state");
	} else {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize off)","1","Incorrect state");
	}
	
	set_window ("Medium Properties", 1);
	if (match (kernel_version, "7.2.05") != 0 ||
		match (kernel_version, "7.3.00") != 0 ||
		match (kernel_version, "7.4.02") != 0) {
		
		button_set ("ThunderRT6CheckBox_1", OFF);
	}
	if (match (kernel_version, "7.4.03") != 0 ||
		match (kernel_version, "7.5.00") != 0 ||
		match (kernel_version, "7.6.00") != 0) {
		
		button_set ("ThunderRT6CheckBox_1", ON);
	}

	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);
	
	if (match (kernel_version, "7.2.05") != 0 ||
		match (kernel_version, "7.3.00") != 0 ||
		match (kernel_version, "7.4.02") != 0) {
		
		exp_BlockSizeCheckbox = 0;
		exp_BlockSizeTextfield = "True";
	}
	if (match (kernel_version, "7.4.03") != 0 ||
		match (kernel_version, "7.5.00") != 0 ||
		match (kernel_version, "7.6.00") != 0) {
		
		exp_BlockSizeCheckbox = 1;
		exp_BlockSizeTextfield = "False";
	}
	
	if (BlockSizeCheckbox == exp_BlockSizeCheckbox &&
		BlockSizeTextfield == exp_BlockSizeTextfield) {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize on)","0","Correct state");
	} else {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize on)","1","Incorrect state");
	}
	
	set_window ("Medium Properties", 1);
	if (match (kernel_version, "7.2.05") != 0 ||
		match (kernel_version, "7.3.00") != 0 ||
		match (kernel_version, "7.4.02") != 0) {
		
		button_set ("ThunderRT6CheckBox_1", ON);
	}
	if (match (kernel_version, "7.4.03") != 0 ||
		match (kernel_version, "7.5.00") != 0 ||
		match (kernel_version, "7.6.00") != 0) {
		
		button_set ("ThunderRT6CheckBox_1", OFF);
	}
	
	obj_get_info("ThunderRT6CheckBox_1", "value", BlockSizeCheckbox);	
	ActiveX_get_info("txtBlocksize","Locked",BlockSizeTextfield);

	if (match (kernel_version, "7.2.05") != 0 ||
		match (kernel_version, "7.3.00") != 0 ||
		match (kernel_version, "7.4.02") != 0) {
		
		exp_BlockSizeCheckbox = 1;
		exp_BlockSizeTextfield = "False";
	}
	if (match (kernel_version, "7.4.03") != 0 ||
		match (kernel_version, "7.5.00") != 0 ||
		match (kernel_version, "7.6.00") != 0) {
		
		exp_BlockSizeCheckbox = 0;
		exp_BlockSizeTextfield = "True";
	}

	if (BlockSizeCheckbox == exp_BlockSizeCheckbox &&
		BlockSizeTextfield == exp_BlockSizeTextfield) {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize off)","0","Correct state");
	} else {
		tl_step ("Medium Properties - "& copy_Medium &" - Extended - Checking blocksize field (Blocksize off)","1","Incorrect state");
	}
#=============================================================================================
# @STEP 7			Clicking 'Cancel'.
#=============================================================================================
	set_window ("Medium Properties", 2);
	button_press ("OK");
} else {
	
	tl_step("Database Manager Backup Wizard - Window Check", "1", "Window not open");
	WizardOpen = 0;
}
