/** * @testdox OptimizeObject tests * @dataProvider getOptimizeObjectTests */ public function testOptimizeObject($original, $expected, $objects) { $encoder = new Encoder(); $optimizer = new ConfigOptimizer($encoder); $config = $optimizer->optimize($original); $this->assertSame($expected, $encoder->encode($config)); $this->assertSame(implode("\n", $objects), rtrim($optimizer->getVarDeclarations())); }
/** * @testdox encode() properly encodes deduplicated config values */ public function testEncodeDeduplicatedConfigValue() { $configValue = new ConfigValue([0, 0], 'o82015558'); $configValue->incrementUseCount(); $configValue->incrementUseCount(); $configValue->deduplicate(); $encoder = new Encoder(); $this->assertSame('o82015558', $encoder->encode($configValue)); }
/** * Encode a PHP value into an equivalent JavaScript representation * * @param mixed $value Original value * @return string JavaScript representation */ protected function encode($value) { return $this->encoder->encode($value); }