Я не на 100% уверен, является ли это тем, что Вы ищете, но необходимо проверить VisualStyleRenderer в Системе. Windows. Формы. VisualStyles-пространство-имен.
, Так как VisualStyleRenderer не будет работать, если у пользователя не будет визуальных стилей включенными (он мог бы выполнять 'классический режим' или действующую систему до Windows XP), у Вас должна всегда быть нейтрализация к классу ControlPaint.
// Create the renderer.
if (VisualStyleInformation.IsSupportedByOS
&& VisualStyleInformation.IsEnabledByUser)
{
renderer = new VisualStyleRenderer(
VisualStyleElement.ComboBox.DropDownButton.Disabled);
}
и затем любят это при рисовании:
if(renderer != null)
{
// Use visual style renderer.
}
else
{
// Use ControlPaint renderer.
}
Hope это помогает!
Вы имеете в виду, можете ли вы их выбрать? Если да, то да:
$(":checkbox[myattr]")
if ($('#A').attr('myattr')) {
// attribute exists
} else {
// attribute does not exist
}
РЕДАКТИРОВАТЬ:
Вышеупомянутое попадет в ветвь else
, когда myattr
существует, но является пустой строкой или «0». Если это проблема, вы должны явно протестировать undefined
:
if ($('#A').attr('myattr') !== undefined) {
// attribute exists
} else {
// attribute does not exist
}
В нашей компании мы обсуждаем именно эту проблему в течение нескольких недель и месяцев.
Чтобы следовать руководству по модульному тестированию:
Каждый тест должен быть атомарным, а не позволяют относиться друг к другу (без обмена данными), это означает, что каждый tust должен иметь собственные данные в начале и очищать данные в конце.
Наш продукт настолько сложен (5 лет разработки, более 100 таблиц в базу данных), что практически невозможно поддерживать приемлемым способом.
Мы опробовали сценарии базы данных, которые создают и удаляют данные до / после теста (есть автоматические методы, которые вызывают это).
Я бы хотел скажем, вы на хорошем пути к файлам Excel.
Мои идеи, чтобы сделать это немного лучше:
В JavaScript ...
null == undefined
... возвращает истину
*. В этом разница между ==
и ===
. Кроме того, имя undefined
может быть определено (это не ключевое слово вроде null
), поэтому вам лучше проверить другой способ. Самый надежный способ - это, вероятно, сравнить возвращаемое значение оператора typeof
.
typeof o == "undefined"
Тем не менее, сравнение с null должно работать в этом случае.
* Предполагая, что undefined
находится в факт не определен.