function testSingleton() { $store = HandsetDetection\HDStore::getInstance(); $store2 = HandsetDetection\HDStore::getInstance(); $store->setPath('/tmp', true); $this->assertEquals($store2->directory, '/tmp/hd40store'); }
function testSingleton() { $store = HandsetDetection\HDStore::getInstance(); $store->setConfig(array('filesdir' => '/tmp'), true); $store2 = HandsetDetection\HDStore::getInstance(); $store->setConfig(array('filesdir' => '/tmp/storetest')); $this->assertEquals($store2->directory, '/tmp/storetest/hd40store'); }
/** * Fetch Archive Test * * The community fetchArchive version contains a cut down version of the device specs. * It has general_vendor, general_model, display_x, display_y, general_platform, general_platform_version, * general_browser, general_browser_version, general_app, general_app_version, general_language, * general_language_full, benahmark_min & benchmark_max * * @group community **/ function test_ultimate_community_fetchArchive() { // Start tests with a clean slate $store = HandsetDetection\HDStore::getInstance(); $store->purge(); // Note : request storage dir to be created if it does not exist. (with TRUE as 2nd param) $hd = new HandsetDetection\HD4($this->ultimateConfig, true); $result = $hd->communityFetchArchive(); $this->assertTrue($result); $data = $hd->getRawReply(); echo "Downloaded " . strlen($data) . " bytes"; $this->assertGreaterThan(9000000, strlen($data)); // Filesize greater than 9Mb }
/** * Fetch Archive Test * @group ultimate **/ function test_fetchArchive() { $hd = new HandsetDetection\HD4($this->ultimateConfig); $hd->setTimeout(500); $store = HandsetDetection\HDStore::getInstance(); $store->purge(); $result = $hd->deviceFetchArchive(); $data = $hd->getRawReply(); $size = strlen($data); echo "Downloaded {$size} bytes "; if (!$result) { $data = $hd->getReply(); print_r($data); } if ($size < 1000) { $this->markTestSkipped($data); } else { $this->assertTrue($result); $this->assertGreaterThan(19000000, strlen($data)); // Filesize greater than 19Mb (currently 28Mb). } }
static function tearDownAfterClass() { $store = HandsetDetection\HDStore::getInstance(); $store->purge(); }
function testIterability() { $store = HandsetDetection\HDStore::getInstance(); $store->setConfig(array('filesdir' => '/tmp'), true); $store->purge(); $tmpData = '{"Device":{"_id":"3454","hd_ops":{"is_generic":0,"stop_on_detect":0,"overlay_result_specs":0},"hd_specs":{"general_vendor":"Sagem","general_model":"MyX5-2","general_platform":"","general_image":"","general_aliases":"","general_eusar":"","general_battery":"","general_type":"","general_cpu":"","design_formfactor":"","design_dimensions":"","design_weight":0,"design_antenna":"","design_keyboard":"","design_softkeys":"","design_sidekeys":"","display_type":"","display_color":"","display_colors":"","display_size":"","display_x":"128","display_y":"160","display_other":"","memory_internal":"","memory_slot":"","network":"","media_camera":"","media_secondcamera":"","media_videocapture":"","media_videoplayback":"","media_audio":"","media_other":"","features":"","connectors":"","general_platform_version":"","general_browser":"","general_browser_version":"","general_language":"","general_platform_version_max":"","general_app":"","general_app_version":"","display_ppi":0,"display_pixel_ratio":0,"benchmark_min":0,"benchmark_max":0,"general_app_category":"","general_virtual":0,"display_css_screen_sizes":""}}}'; file_put_contents('Device_3454.json', $tmpData); $store->moveIn('Device_3454.json', 'Device_3454.json'); $this->assertFileNotExists('Device_3454.json'); $this->assertFileExists($store->directory . DIRECTORY_SEPARATOR . 'Device_3454.json'); $tmpData = '{"Device":{"_id":"3455","hd_ops":{"is_generic":0,"stop_on_detect":0,"overlay_result_specs":0},"hd_specs":{"general_aliases":"","display_x":"120","display_y":"120","general_vendor":"Sagem","general_model":"MY X55","general_platform":"","general_image":"","network":"","general_type":"","general_eusar":"","general_battery":"","general_cpu":"","design_formfactor":"","design_dimensions":"","design_weight":0,"design_antenna":"","design_keyboard":"","design_softkeys":"","design_sidekeys":"","display_type":"","display_color":"","display_colors":"","display_size":"","display_other":"","memory_internal":"","memory_slot":"","media_camera":"","media_secondcamera":"","media_videocapture":"","media_videoplayback":"","media_audio":"","media_other":"","features":"","connectors":"","general_platform_version":"","general_browser":"","general_browser_version":"","general_language":"","general_platform_version_max":"","general_app":"","general_app_version":"","display_ppi":0,"display_pixel_ratio":0,"benchmark_min":0,"benchmark_max":0,"general_app_category":"","general_virtual":0,"display_css_screen_sizes":""}}}'; file_put_contents('Device_3455.json', $tmpData); $store->moveIn('Device_3455.json', 'Device_3455.json'); $tmpData = '{"Device":{"_id":"3456","hd_ops":{"is_generic":0,"stop_on_detect":0,"overlay_result_specs":0},"hd_specs":{"general_vendor":"Sagem","general_model":"myX5-2v","general_platform":"","general_image":"","general_aliases":"","general_eusar":"","general_battery":"","general_type":"","general_cpu":"","design_formfactor":"","design_dimensions":"","design_weight":0,"design_antenna":"","design_keyboard":"","design_softkeys":"","design_sidekeys":"","display_type":"","display_color":"","display_colors":"","display_size":"","display_x":"128","display_y":"160","display_other":"","memory_internal":"","memory_slot":"","network":"","media_camera":"","media_secondcamera":"","media_videocapture":"","media_videoplayback":"","media_audio":"","media_other":"","features":"","connectors":"","general_platform_version":"","general_browser":"","general_browser_version":"","general_language":"","general_platform_version_max":"","general_app":"","general_app_version":"","display_ppi":0,"display_pixel_ratio":0,"benchmark_min":0,"benchmark_max":0,"general_app_category":"","general_virtual":0,"display_css_screen_sizes":""}}}'; file_put_contents('Device_3456.json', $tmpData); $store->moveIn('Device_3456.json', 'Device_3456.json'); $tmp = array(); foreach ($store as $key => $value) { $tmp[$key] = $value; } $this->assertArrayHasKey('Device_3454', $tmp); $this->assertArrayHasKey('Device_3455', $tmp); $this->assertArrayHasKey('Device_3456', $tmp); $this->assertArrayHasKey('Device', $tmp['Device_3454']); $this->assertArrayHasKey('Device', $tmp['Device_3455']); $this->assertArrayHasKey('Device', $tmp['Device_3456']); $store->purge(); }