public void General_CopyWs_OK()
{
m_dlg.ShowDialog(m_wsKalabaIpa);
m_dlg.VerifyLoadedForListBoxSelection("Kalaba (International Phonetic Alphabet)");
m_dlg.VerifyListBox(new[] { "Kalaba", "Kalaba (International Phonetic Alphabet)" });
// Switch tabs, so we can test that Add New Ws will switch to General Tab.
m_dlg.SwitchTab(FwWritingSystemSetupDlg.kWsFonts);
m_dlg.VerifyTab(FwWritingSystemSetupDlg.kWsFonts);
// Click on Copy Button
m_dlg.PressBtnCopy();
// Verify WsList has new item and it is selected
m_dlg.VerifyListBox(new[] { "Kalaba", "Kalaba (International Phonetic Alphabet)", "Kalaba (International Phonetic Alphabet)" });
m_dlg.VerifyLoadedForListBoxSelection("Kalaba (International Phonetic Alphabet)");
m_dlg.VerifyWritingSystemsAreEqual(1, 2);
// verify we automatically switched back to General Tab.
m_dlg.VerifyTab(FwWritingSystemSetupDlg.kWsGeneral);
// Verify Switching context is not OK (force user to make unique Ws)
m_dlg.SwitchTab(FwWritingSystemSetupDlg.kWsFonts,
DummyWritingSystemPropertiesDialog.ShowMsgBoxStatus.CheckCantCreateDuplicateWs,
DialogResult.OK);
m_dlg.VerifyTab(FwWritingSystemSetupDlg.kWsGeneral);
// Change Region or Variant info.
m_dlg.SetVariantName("Phonetic");
m_dlg.VerifyListBox(new[] { "Kalaba", "Kalaba (International Phonetic Alphabet)", "Kalaba (Phonetic)" });
// Do OK
m_dlg.PressOk();
Cache.ServiceLocator.WritingSystemManager.Save();
// Verify dialog indicates a list to add to current (vernacular) ws list
VerifyNewlyAddedWritingSystems(new[] { "qaa-fonipa-x-kal-etic" });
// Verify we've actually created the new ws.
VerifyWsNames(
new[] { "Kalaba", "Kalaba (International Phonetic Alphabet)", "Kalaba (Phonetic)" },
new[] { "qaa-x-kal", "qaa-fonipa-x-kal", "qaa-fonipa-x-kal-etic" });
}