public function assert_css_value($property_name, $expected_value, $canonicalize_colors = true) { $actual_value = $this->get_css_value($property_name); if (strpos($property_name, 'color') !== false && $canonicalize_colors) { $canonical_expected = WebDriver::CanonicalizeCSSColor($expected_value); $canonical_actual = WebDriver::CanonicalizeCSSColor($actual_value); PHPUnit_Framework_Assert::assertEquals($canonical_expected, $canonical_actual, "Failed asserting that <{$this->locator}>'s <{$property_name}> is <{$canonical_expected}> after canonicalization.\nExpected: {$expected_value} -> {$canonical_expected}\nActual: {$actual_value} -> {$canonical_actual}"); } else { PHPUnit_Framework_Assert::assertEquals($expected_value, $actual_value, "Failed asserting that <{$this->locator}>'s <{$property_name}> is <{$expected_value}>."); } }
/** * @dataProvider invalid_colors * @expectedException Exception */ public function test_invalid_colors($input) { WebDriver::CanonicalizeCSSColor($input); }
public function assert_css_value($property_name, $expected_value, $canonicalize_colors = true) { if (strpos($property_name, 'color') !== false && $canonicalize_colors) { $canonical_expected = WebDriver::CanonicalizeCSSColor($expected_value); $end_time = time() + WebDriver::$ImplicitWaitMS / 1000; do { $actual_value = $this->get_css_value($property_name); $canonical_actual = WebDriver::CanonicalizeCSSColor($actual_value); } while (time() < $end_time && $canonical_actual != $canonical_expected); PHPUnit_Framework_Assert::assertEquals($canonical_expected, $canonical_actual, "Failed asserting that <{$this->locator}>'s <{$property_name}> is <{$canonical_expected}> after canonicalization.\nExpected: {$expected_value} -> {$canonical_expected}\nActual: {$actual_value} -> {$canonical_actual}"); } else { $value = WebDriver::WaitUntil(array($this, 'get_css_value'), array($property_name), $expected_value); PHPUnit_Framework_Assert::assertEquals($expected_value, $value, "Failed asserting that <{$this->locator}>'s <{$property_name}> is <{$expected_value}>."); } }