FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
split-bootstack/tests/OpenGraphTest.php at development · ZedsDev/split-bootstack · GitHub
ZedsDev
/
split-bootstack
Public
forked from
BookStackApp/BookStack
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
split-bootstack
/
tests
/
OpenGraphTest.php
Copy path
More file actions
More file actions
Latest commit
History
History
History
99 lines (81 loc) · 3.42 KB
Breadcrumbs
split-bootstack
/
tests
/
OpenGraphTest.php
Copy path
File metadata and controls
99 lines (81 loc) · 3.42 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
namespace
Tests
;
use
BookStack
\
Entities
\
Repos
\
BaseRepo
;
use
BookStack
\
Entities
\
Repos
\
BookRepo
;
use
Illuminate
\
Support
\
Str
;
use
Illuminate
\
Testing
\
TestResponse
;
use
Tests
\
Uploads
\
UsesImages
;
class
OpenGraphTest
extends
TestCase
{
use
UsesImages;
public
function
test_page_tags
()
{
$
page
=
$
this
->
entities
->
page
();
$
resp
=
$
this
->
asEditor
()->
get
(
$
page
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
page
->
getShortName
() .
'
| BookStack
'
,
$
tags
[
'
title
'
]);
$
this
->
assertEquals
(
$
page
->
getUrl
(),
$
tags
[
'
url
'
]);
$
this
->
assertEquals
(Str::
limit
(
$
page
->
text
,
100
,
'
...
'
),
$
tags
[
'
description
'
]);
}
public
function
test_chapter_tags
()
{
$
chapter
=
$
this
->
entities
->
chapter
();
$
resp
=
$
this
->
asEditor
()->
get
(
$
chapter
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
chapter
->
getShortName
() .
'
| BookStack
'
,
$
tags
[
'
title
'
]);
$
this
->
assertEquals
(
$
chapter
->
getUrl
(),
$
tags
[
'
url
'
]);
$
this
->
assertEquals
(Str::
limit
(
$
chapter
->
description
,
100
,
'
...
'
),
$
tags
[
'
description
'
]);
}
public
function
test_book_tags
()
{
$
book
=
$
this
->
entities
->
book
();
$
resp
=
$
this
->
asEditor
()->
get
(
$
book
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
book
->
getShortName
() .
'
| BookStack
'
,
$
tags
[
'
title
'
]);
$
this
->
assertEquals
(
$
book
->
getUrl
(),
$
tags
[
'
url
'
]);
$
this
->
assertEquals
(Str::
limit
(
$
book
->
description
,
100
,
'
...
'
),
$
tags
[
'
description
'
]);
$
this
->
assertArrayNotHasKey
(
'
image
'
,
$
tags
);
// Test image set if image has cover image
$
bookRepo
=
app
(BookRepo::class);
$
bookRepo
->
updateCoverImage
(
$
book
,
$
this
->
getTestImage
(
'
image.png
'
));
$
resp
=
$
this
->
asEditor
()->
get
(
$
book
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
book
->
getBookCover
(),
$
tags
[
'
image
'
]);
}
public
function
test_shelf_tags
()
{
$
shelf
=
$
this
->
entities
->
shelf
();
$
resp
=
$
this
->
asEditor
()->
get
(
$
shelf
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
shelf
->
getShortName
() .
'
| BookStack
'
,
$
tags
[
'
title
'
]);
$
this
->
assertEquals
(
$
shelf
->
getUrl
(),
$
tags
[
'
url
'
]);
$
this
->
assertEquals
(Str::
limit
(
$
shelf
->
description
,
100
,
'
...
'
),
$
tags
[
'
description
'
]);
$
this
->
assertArrayNotHasKey
(
'
image
'
,
$
tags
);
// Test image set if image has cover image
$
baseRepo
=
app
(BaseRepo::class);
$
baseRepo
->
updateCoverImage
(
$
shelf
,
$
this
->
getTestImage
(
'
image.png
'
));
$
resp
=
$
this
->
asEditor
()->
get
(
$
shelf
->
getUrl
());
$
tags
=
$
this
->
getOpenGraphTags
(
$
resp
);
$
this
->
assertEquals
(
$
shelf
->
getBookCover
(),
$
tags
[
'
image
'
]);
}
/**
* Parse the open graph tags from a test response.
*/
protected
function
getOpenGraphTags
(
TestResponse
$
resp
):
array
{
$
tags
= [];
libxml_use_internal_errors
(
true
);
$
doc
=
new
\
DOMDocument
();
$
doc
->
loadHTML
(
$
resp
->
getContent
());
$
metaElems
=
$
doc
->
getElementsByTagName
(
'
meta
'
);
/** @var \DOMElement $elem */
foreach
(
$
metaElems
as
$
elem
) {
$
prop
=
$
elem
->
getAttribute
(
'
property
'
);
$
name
=
explode
(
'
:
'
,
$
prop
)[
1
] ??
null
;
if
(
$
name
) {
$
tags
[
$
name
] =
$
elem
->
getAttribute
(
'
content
'
);
}
}
return
$
tags
;
}
}
Back
|
FazBrowse Home
|
New Git URL