- Timestamp:
- 02/11/2020 09:26:25 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php
r47245 r47278 261 261 $request = wp_get_user_request( self::$export_request_id ); 262 262 263 $this->assertContains( '<h1 >Personal Data Export</h1>', $report_contents );264 $this->assertContains( '<h2 >About</h2>', $report_contents );263 $this->assertContains( '<h1 id="top">Personal Data Export</h1>', $report_contents ); 264 $this->assertContains( '<h2 id="about-about">About</h2>', $report_contents ); 265 265 $this->assertContains( $request->email, $report_contents ); 266 266 } … … 295 295 $this->assertContains( '"about"', $report_contents_json ); 296 296 } 297 298 /** 299 * Test the export HTML file containing one export group has no table of contents. 300 * 301 * @ticket 46894 302 */ 303 public function test_single_group_export_no_toc_or_return_to_top() { 304 $this->expectOutputString( '' ); 305 wp_privacy_generate_personal_data_export_file( self::$export_request_id ); 306 $this->assertTrue( file_exists( $this->export_file_name ) ); 307 308 $report_dir = trailingslashit( self::$exports_dir . 'test_contents' ); 309 mkdir( $report_dir ); 310 311 $zip = new ZipArchive(); 312 $opened_zip = $zip->open( $this->export_file_name ); 313 $this->assertTrue( $opened_zip ); 314 315 $zip->extractTo( $report_dir ); 316 $zip->close(); 317 $this->assertTrue( file_exists( $report_dir . 'index.html' ) ); 318 319 $report_contents = file_get_contents( $report_dir . 'index.html' ); 320 $request = wp_get_user_request( self::$export_request_id ); 321 322 $this->assertNotContains( '<div id="table_of_contents">', $report_contents ); 323 $this->assertNotContains( '<div class="return_to_top">', $report_contents ); 324 $this->assertContains( $request->email, $report_contents ); 325 } 326 327 /** 328 * Test the export HTML file containing ore than one export group has a table of contents. 329 * 330 * @ticket 46894 331 */ 332 public function test_multiple_group_export_has_toc_and_return_to_top() { 333 $this->expectOutputString( '' ); 334 335 // Setup Export Data to contain multiple groups 336 $export_data_grouped = array( 337 'user' => array( 338 'group_label' => 'User', 339 'group_description' => 'User’s profile data.', 340 'items' => array( 341 'user-1' => array( 342 array( 343 'name' => 'User ID', 344 'value' => 1, 345 ), 346 array( 347 'name' => 'User Login Name', 348 'value' => 'user_login', 349 ), 350 array( 351 'name' => 'User Nice Name', 352 'value' => 'User Name', 353 ), 354 array( 355 'name' => 'User Email', 356 'value' => 'export-requester@example.com', 357 ), 358 array( 359 'name' => 'User Registration Date', 360 'value' => '2020-01-31 19:29:29', 361 ), 362 array( 363 'name' => 'User Display Name', 364 'value' => 'User Name', 365 ), 366 array( 367 'name' => 'User Nickname', 368 'value' => 'User', 369 ), 370 ), 371 ), 372 ), 373 ); 374 update_post_meta( self::$export_request_id, '_export_data_grouped', $export_data_grouped ); 375 376 // Generate Export File 377 wp_privacy_generate_personal_data_export_file( self::$export_request_id ); 378 $this->assertTrue( file_exists( $this->export_file_name ) ); 379 380 // Cleam-up for subsequent tests 381 update_post_meta( self::$export_request_id, '_export_data_grouped', array() ); 382 383 $report_dir = trailingslashit( self::$exports_dir . 'test_contents' ); 384 mkdir( $report_dir ); 385 386 $zip = new ZipArchive(); 387 $opened_zip = $zip->open( $this->export_file_name ); 388 $this->assertTrue( $opened_zip ); 389 390 $zip->extractTo( $report_dir ); 391 $zip->close(); 392 $this->assertTrue( file_exists( $report_dir . 'index.html' ) ); 393 394 $report_contents = file_get_contents( $report_dir . 'index.html' ); 395 $request = wp_get_user_request( self::$export_request_id ); 396 397 $this->assertContains( '<div id="table_of_contents">', $report_contents ); 398 $this->assertContains( '<h2 id="user-user">User</h2>', $report_contents ); 399 $this->assertContains( '<div class="return_to_top">', $report_contents ); 400 $this->assertContains( $request->email, $report_contents ); 401 } 402 403 /** 404 * Test the export HTML file containing multiple export groups with multiple group items 405 * has a table of contents with group count. 406 * 407 * @ticket 46894 408 */ 409 public function test_multiple_group_export_multiple_items_group_count_in_toc() { 410 $this->expectOutputString( '' ); 411 412 // Setup Export Data to contain multiple groups 413 $export_data_grouped = array( 414 'user' => array( 415 'group_label' => 'User', 416 'group_description' => 'User’s profile data.', 417 'items' => array( 418 'user-1' => array( 419 array( 420 'name' => 'User ID', 421 'value' => 1, 422 ), 423 array( 424 'name' => 'User Login Name', 425 'value' => 'user_login', 426 ), 427 array( 428 'name' => 'User Nice Name', 429 'value' => 'User Name', 430 ), 431 array( 432 'name' => 'User Email', 433 'value' => 'export-requester@example.com', 434 ), 435 array( 436 'name' => 'User Registration Date', 437 'value' => '2020-01-31 19:29:29', 438 ), 439 array( 440 'name' => 'User Display Name', 441 'value' => 'User Name', 442 ), 443 array( 444 'name' => 'User Nickname', 445 'value' => 'User', 446 ), 447 ), 448 ), 449 ), 450 'comments' => array( 451 'group_label' => 'Comments', 452 'group_description' => 'User’s comment data.', 453 'items' => array( 454 'comment-2' => array( 455 array( 456 'name' => 'Comment Author', 457 'value' => 'User Name', 458 ), 459 array( 460 'name' => 'Comment Author Email', 461 'value' => 'export-requester@example.com', 462 ), 463 array( 464 'name' => 'Comment Author IP', 465 'value' => '::1', 466 ), 467 array( 468 'name' => 'Comment Author User Agent', 469 'value' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', 470 ), 471 array( 472 'name' => 'Comment Date', 473 'value' => '2020-01-31 19:55:19', 474 ), 475 array( 476 'name' => 'Comment Content', 477 'value' => 'Test', 478 ), 479 array( 480 'name' => 'Comment URL', 481 'value' => '<a href="http://localhost:8888/46894/2020/01/31/hello-world/#comment-2" target="_blank" rel="noreferrer noopener">http://localhost:8888/46894/2020/01/31/hello-world/#comment-2</a>', 482 ), 483 ), 484 'comment-3' => array( 485 array( 486 'name' => 'Comment Author', 487 'value' => 'User Name', 488 ), 489 array( 490 'name' => 'Comment Author Email', 491 'value' => 'export-requester@example.com', 492 ), 493 array( 494 'name' => 'Comment Author IP', 495 'value' => '::1', 496 ), 497 array( 498 'name' => 'Comment Author User Agent', 499 'value' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', 500 ), 501 array( 502 'name' => 'Comment Date', 503 'value' => '2020-01-31 20:55:19', 504 ), 505 array( 506 'name' => 'Comment Content', 507 'value' => 'Test #2', 508 ), 509 array( 510 'name' => 'Comment URL', 511 'value' => '<a href="http://localhost:8888/46894/2020/01/31/hello-world/#comment-3" target="_blank" rel="noreferrer noopener">http://localhost:8888/46894/2020/01/31/hello-world/#comment-3</a>', 512 ), 513 ), 514 ), 515 ), 516 ); 517 update_post_meta( self::$export_request_id, '_export_data_grouped', $export_data_grouped ); 518 519 // Generate Export File 520 wp_privacy_generate_personal_data_export_file( self::$export_request_id ); 521 $this->assertTrue( file_exists( $this->export_file_name ) ); 522 523 // Cleam-up for subsequent tests 524 update_post_meta( self::$export_request_id, '_export_data_grouped', array() ); 525 526 $report_dir = trailingslashit( self::$exports_dir . 'test_contents' ); 527 mkdir( $report_dir ); 528 529 $zip = new ZipArchive(); 530 $opened_zip = $zip->open( $this->export_file_name ); 531 $this->assertTrue( $opened_zip ); 532 533 $zip->extractTo( $report_dir ); 534 $zip->close(); 535 $this->assertTrue( file_exists( $report_dir . 'index.html' ) ); 536 537 $report_contents = file_get_contents( $report_dir . 'index.html' ); 538 $request = wp_get_user_request( self::$export_request_id ); 539 540 $this->assertContains( '<div id="table_of_contents">', $report_contents ); 541 $this->assertContains( '<a href="#comments-comments">Comments <span class="count">(2)</span></a>', $report_contents ); 542 $this->assertContains( $request->email, $report_contents ); 543 } 544 545 /** 546 * Test the export HTML file containing multiple export groups with no multiple group items 547 * has a table of contents without group count. 548 * 549 * @ticket 46894 550 */ 551 public function test_multiple_group_export_single_items_no_group_count_in_toc() { 552 $this->expectOutputString( '' ); 553 554 // Setup Export Data to contain multiple groups 555 $export_data_grouped = array( 556 'user' => array( 557 'group_label' => 'User', 558 'group_description' => 'User’s profile data.', 559 'items' => array( 560 'user-1' => array( 561 array( 562 'name' => 'User ID', 563 'value' => 1, 564 ), 565 array( 566 'name' => 'User Login Name', 567 'value' => 'user_login', 568 ), 569 array( 570 'name' => 'User Nice Name', 571 'value' => 'User Name', 572 ), 573 array( 574 'name' => 'User Email', 575 'value' => 'export-requester@example.com', 576 ), 577 array( 578 'name' => 'User Registration Date', 579 'value' => '2020-01-31 19:29:29', 580 ), 581 array( 582 'name' => 'User Display Name', 583 'value' => 'User Name', 584 ), 585 array( 586 'name' => 'User Nickname', 587 'value' => 'User', 588 ), 589 ), 590 ), 591 ), 592 'comments' => array( 593 'group_label' => 'Comments', 594 'group_description' => 'User’s comment data.', 595 'items' => array( 596 'comment-2' => array( 597 array( 598 'name' => 'Comment Author', 599 'value' => 'User Name', 600 ), 601 array( 602 'name' => 'Comment Author Email', 603 'value' => 'export-requester@example.com', 604 ), 605 array( 606 'name' => 'Comment Author IP', 607 'value' => '::1', 608 ), 609 array( 610 'name' => 'Comment Author User Agent', 611 'value' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', 612 ), 613 array( 614 'name' => 'Comment Date', 615 'value' => '2020-01-31 19:55:19', 616 ), 617 array( 618 'name' => 'Comment Content', 619 'value' => 'Test', 620 ), 621 array( 622 'name' => 'Comment URL', 623 'value' => '<a href="http://localhost:8888/46894/2020/01/31/hello-world/#comment-2" target="_blank" rel="noreferrer noopener">http://localhost:8888/46894/2020/01/31/hello-world/#comment-2</a>', 624 ), 625 ), 626 ), 627 ), 628 ); 629 update_post_meta( self::$export_request_id, '_export_data_grouped', $export_data_grouped ); 630 631 // Generate Export File 632 wp_privacy_generate_personal_data_export_file( self::$export_request_id ); 633 $this->assertTrue( file_exists( $this->export_file_name ) ); 634 635 // Cleam-up for subsequent tests 636 update_post_meta( self::$export_request_id, '_export_data_grouped', array() ); 637 638 $report_dir = trailingslashit( self::$exports_dir . 'test_contents' ); 639 mkdir( $report_dir ); 640 641 $zip = new ZipArchive(); 642 $opened_zip = $zip->open( $this->export_file_name ); 643 $this->assertTrue( $opened_zip ); 644 645 $zip->extractTo( $report_dir ); 646 $zip->close(); 647 $this->assertTrue( file_exists( $report_dir . 'index.html' ) ); 648 649 $report_contents = file_get_contents( $report_dir . 'index.html' ); 650 $request = wp_get_user_request( self::$export_request_id ); 651 652 $this->assertContains( '<div id="table_of_contents">', $report_contents ); 653 $this->assertNotContains( '<span class="count">', $report_contents ); 654 $this->assertContains( $request->email, $report_contents ); 655 656 } 297 657 }
Note: See TracChangeset
for help on using the changeset viewer.